类型转换函数 |
您所在的位置:网站首页 › mysql将时间戳转化为字符串 › 类型转换函数 |
cast(x as y)
描述:类型转换函数,将x转换成y指定的类型。 示例: 1 2 3 4 5 SELECT cast('22-oct-1997' as timestamp); timestamp --------------------- 1997-10-22 00:00:00 (1 row) hextoraw(string)描述:将CHAR、VARCHAR2、NCHAR或NVARCHAR2数据类型中包含十六进制数字的字符转换为RAW数据类型。 返回值类型:raw 示例: 1 2 3 4 5 SELECT hextoraw('7D'); hextoraw ---------- 7D (1 row) numtoday(numeric)描述:将数字类型的值转换为指定格式的时间戳。 返回值类型:timestamp 示例: 1 2 3 4 5 SELECT numtoday(2); numtoday ---------- 2 days (1 row) pg_systimestamp()描述:获取系统时间戳。 返回值类型:timestamp with time zone 示例: 1 2 3 4 5 SELECT pg_systimestamp(); pg_systimestamp ------------------------------- 2015-10-14 11:21:28.317367+08 (1 row) rawtohex(string)描述:将RAW数据类型值转换为相应的十六进制表示的字符串。string中的每个字节都被转换一个双字节的字符串。 结果为输入字符的ACSII码,以十六进制表示。 返回值类型:varchar 示例: 1 2 3 4 5 SELECT rawtohex('1234567'); rawtohex ---------------- 31323334353637 (1 row) to_char (datetime/interval [, fmt])描述:将一个DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE或者TIMESTAMP WITH LOCAL TIME ZONE类型的DATETIME或者INTERVAL值按照fmt指定的格式转换为VARCHAR类型。 可选参数fmt可以为以下几类:日期、时间、星期、季度和世纪。每类都可以有不同的模板,模板之间可以合理组合,常见的模板有:HH、MM、SS、YYYY、MM、DD。 模板可以有修饰词,常用的修饰词是FM,可以用来抑制前导的零或尾随的空白。返回值类型:varchar 示例: 1 2 3 4 5 SELECT to_char(current_timestamp,'HH12:MI:SS'); to_char ---------- 10:19:26 (1 row) 1 2 3 4 5 SELECT to_char(current_timestamp,'FMHH12:FMMI:FMSS'); to_char ---------- 10:19:46 (1 row) to_char(double precision, text)描述:将双精度类型的值转换为指定格式的字符串。 返回值类型:text 示例: 1 2 3 4 5 SELECT to_char(125.8::real, '999D99'); to_char --------- 125.80 (1 row) to_char (integer/number[, fmt])描述:将一个整型或者浮点类型的值转换为指定格式的字符串。 可选参数fmt可以为以下几类:十进制字符、“分组”符、正负号和货币符号,每类都可以有不同的模板,模板之间可以合理组合,常见的模板有:9、0、,(千分隔符)、.(小数点)。 模板可以有类似FM的修饰词,但FM不抑制由模板0指定而输出的0。 要将整型类型的值转换成对应16进制值的字符串,使用模板X或x。返回值类型:varchar 示例: 1 2 3 4 5 SELECT to_char(1485,'9,999'); to_char --------- 1,485 (1 row) 1 2 3 4 5 SELECT to_char( 1148.5,'9,999.999'); to_char ------------ 1,148.500 (1 row) 1 2 3 4 5 SELECT to_char(148.5,'990999.909'); to_char ------------- 0148.500 (1 row) 1 2 3 4 5 SELECT to_char(123,'XXX'); to_char --------- 7B (1 row) to_char(interval, text)描述:将时间间隔类型的值转换为指定格式的字符串。 返回值类型:text 示例: 1 2 3 4 5 SELECT to_char(interval '15h 2m 12s', 'HH24:MI:SS'); to_char ---------- 15:02:12 (1 row) to_char(int, text)描述:将整数类型的值转换为指定格式的字符串。 返回值类型:text 示例: 1 2 3 4 5 SELECT to_char(125, '999'); to_char --------- 125 (1 row) to_char(numeric, text)描述:将数字类型的值转换为指定格式的字符串。 返回值类型:text 示例: 1 2 3 4 5 SELECT to_char(-125.8, '999D99S'); to_char --------- 125.80- (1 row) to_char (string)描述:将CHAR、VARCHAR、VARCHAR2、CLOB类型转换为VARCHAR类型。 如使用该函数对CLOB类型进行转换,且待转换CLOB类型的值超出目标类型的范围,则返回错误。 返回值类型:varchar 示例: 1 2 3 4 5 SELECT to_char('01110'); to_char --------- 01110 (1 row) to_char(timestamp, text)描述:将时间戳类型的值转换为指定格式的字符串。 返回值类型:text 示例: 1 2 3 4 5 SELECT to_char(current_timestamp, 'HH12:MI:SS'); to_char ---------- 10:55:59 (1 row) to_clob(char/nchar/varchar/nvarchar/varchar2/nvarchar2/text/raw)描述:将RAW类型或者文本字符集类型CHAR、NCHAR、VARCHAR、VARCHAR2、NVARCHAR2、TEXT转成CLOB类型。 返回值类型:clob 示例: 1 2 3 4 5 SELECT to_clob('ABCDEF'::RAW(10)); to_clob --------- ABCDEF (1 row) 1 2 3 4 5 SELECT to_clob('hello111'::CHAR(15)); to_clob ---------- hello111 (1 row) 1 2 3 4 5 SELECT to_clob('gauss123'::NCHAR(10)); to_clob ---------- gauss123 (1 row) 1 2 3 4 5 SELECT to_clob('gauss234'::VARCHAR(10)); to_clob ---------- gauss234 (1 row) 1 2 3 4 5 SELECT to_clob('gauss345'::VARCHAR2(10)); to_clob ---------- gauss345 (1 row) 1 2 3 4 5 SELECT to_clob('gauss456'::NVARCHAR2(10)); to_clob ---------- gauss456 (1 row) 1 2 3 4 5 SELECT to_clob('World222!'::TEXT); to_clob ----------- World222! (1 row) to_date(text)描述:将文本类型的值转换为指定格式的时间戳。 返回值类型:timestamp 示例: 1 2 3 4 5 SELECT to_date('2015-08-14'); to_date --------------------- 2015-08-14 00:00:00 (1 row) to_date(text, text)描述:将字符串类型的值转换为指定格式的日期。 返回值类型:timestamp 示例: 1 2 3 4 5 SELECT to_date('05 Dec 2000', 'DD Mon YYYY'); to_date --------------------- 2000-12-05 00:00:00 (1 row) to_date(string, fmt)描述:将字符串string按fmt指定格式转化为DATE类型的值。该函数不能直接支持CLOB类型,但是CLOB类型的参数能够通过隐式转换实现。 返回值类型:date 示例: 1 2 3 4 5 SELECT TO_DATE('05 Dec 2010','DD Mon YYYY'); to_date --------------------- 2010-12-05 00:00:00 (1 row) to_number ( expr [, fmt])描述:将expr按指定格式转换为一个NUMBER类型的值。 类型转换格式请参考表1。 转换十六进制字符串为十进制数字时,最多支持16个字节的十六进制字符串转换为无符号数。 转换十六进制字符串为十进制数字时,格式字符串中不允许出现除“x”或“X”以外的其他字符,否则报错。 返回值类型:number 示例: 1 2 3 4 5 SELECT to_number('12,454.8-', '99G999D9S'); to_number ----------- -12454.8 (1 row) to_number(text, text)描述:将字符串类型的值转换为指定格式的数字。 返回值类型:numeric 示例: 1 2 3 4 5 SELECT to_number('12,454.8-', '99G999D9S'); to_number ----------- -12454.8 (1 row) to_timestamp(double precision)描述:把UNIX纪元转换成时间戳。 返回值类型:timestamp with time zone 示例: 1 2 3 4 5 SELECT to_timestamp(1284352323); to_timestamp ------------------------ 2010-09-13 12:32:03+08 (1 row) to_timestamp(string [,fmt])描述:将字符串string按fmt指定的格式转换成时间戳类型的值。不指定fmt时,按参数nls_timestamp_format所指定的格式转换。 GaussDB(DWS)的to_timestamp中, 如果输入的年份YYYY=0,系统报错。 如果输入的年份YYYY 0)SG 在指明的位置的正/负号 RN 罗马数字(输入在 1 和 3999 之间) TH或th 序数后缀 V 移动指定位(小数) 表2显示了可以用于格式化日期和时间值的模板,这些模式适用于函数to_date、to_timestamp、to_char和参数nls_timestamp_format。 表2 用于日期/时间格式化的模式类别 模式 描述 小时 HH 一天的小时数(01-12) HH12 一天的小时数(01-12) HH24 一天的小时数(00-23) 分钟 MI 分钟(00-59) 秒 SS 秒(00-59) FF 微秒(000000-999999) SSSSS 午夜后的秒(0-86399) 上、下午 AM或A.M. 上午标识 PM或P.M. 下午标识 年 Y,YYY 带逗号的年(4和更多位) SYYYY 公元前四位年 YYYY 年(4和更多位) YYY 年的后三位 YY 年的后两位 Y 年的最后一位 IYYY ISO年(4位或更多位) IYY ISO年的最后三位 IY ISO年的最后两位 I ISO年的最后一位 RR 年的后两位(可在21世纪存储20世纪的年份) 规则如下: 输入的两位年份在00~49之间:当前年份的后两位在00~49之间,返回值年份的前两位和当前年份的前两位相同; 当前年份的后两位在50~99之间,返回值年份的前两位是当前年份的前两位加1。 输入的两位年份在50~99之间:当前年份的后两位在00~49之间,返回值年份的前两位是当前年份的前两位减1; 当前年份的后两位在50~99之间,返回值年份的前两位和当前年份的前两位相同。 RRRR 可接收4位年或两位年。若是两位,则和RR的返回值相同,若是四位,则和YYYY相同。 BC或B.C. AD或A.D.纪元标识。BC(公元前),AD(公元后)。 月 MONTH 全长大写月份名(空白填充为9字符) MON 大写缩写月份名(3字符) MM 月份数(01-12) RM 罗马数字的月份(I-XII ;I=JAN)(大写) 天 DAY 全长大写日期名(空白填充为9字符) DY 缩写大写日期名(3字符) DDD 一年里的日(001-366) DD 一个月里的日(01-31) D 一周里的日(1-7 ;周日是 1) 周 W 一个月里的周数(1-5)(第一周从该月第一天开始) WW 一年里的周数(1-53)(第一周从该年的第一天开始) IW ISO一年里的周数(第一个星期四在第一周里) 世纪 CC 世纪(2位)(21 世纪从 2001-01-01 开始) 儒略日 J 儒略日(自公元前 4712 年 1 月 1 日来的天数) 季度 Q 季度 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |