3、类型转换函数
在GaussDB数据库中,类型转换函数是指用于将数据库中的数据类型转换为其他数据类型的函数。这些函数通常用于处理不同类型的数据,例如将整数转换为浮点数、将字符串转换为数字等。
以下是一些常见的数据库类型转换函数:
--cast(x as y)
--描述:类型转换函数,将x转换成y指定的类型。
SELECT cast('20-Apr-2023' as timestamp)
,cast('20230420' as timestamp)
,cast('20230420' as int)
;
复制
cke_150.png
--cast(x as y)
--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
SELECT to_char(current_timestamp,'HH12:MI:SS')
,to_char(current_timestamp,'yyyymmdd')
,to_char(current_timestamp,'dd-mm-yyyy')
;
复制
cke_151.png
--to_char (numeric/smallint/integer/bigint/double precision/real[, fmt])
--描述:将一个整型或者浮点类型的值转换为指定格式的字符串。
--可选参数fmt可以为以下几类:十进制字符、“分组”符、正负号和货币符号,每类都可以有不同的模板,模板之间可以合理组合,常见的模板有:9、0、,(千分隔符)、.(小数点)。
--模板可以有类似FM的修饰词,但FM不抑制由模板0指定而输出的0。
--要将整型类型的值转换成对应16进制值的字符串,使用模板X或x。
--返回值类型:varchar
SELECT to_char(9527,'9,999'),to_char(9527.0,'9,999.999');
复制
cke_152.png
--to_char (string)
--描述:将CHAR、VARCHAR、VARCHAR2、CLOB类型转换为VARCHAR类型。
--如使用该函数对CLOB类型进行转换,且待转换CLOB类型的值超出目标类型的范围,则返回错误。
--返回值类型:varchar
SELECT to_char('9527');
复制
cke_153.png
--to_date(text)
--描述:将文本类型的值转换为指定格式的时间戳。
--返回值类型:timestamp without time zone
--to_date(text, text)
--描述:将字符串类型的值转换为指定格式的日期。
--返回值类型:timestamp without time zone
SELECT to_date('2023-04-20'),to_date('20 Apr 2023', 'DD Mon YYYY');