- cash_words(money)
描述:类型转换函数,将money转换成text。
示例:
gbase=# SELECT cash_words('1.23');
cash_words
-----------------------------------
One dollar and twenty three cents
(1 row)
- cast(x as y)
描述:类型转换函数,将x转换成y指定的类型。
示例:
gbase=# SELECT cast('22-oct-1997' as timestamp);
timestamp
---------------------
1997-10-22 00:00:00
(1 row)
- hextoraw(raw)
描述:将一个十六进制构成的字符串转换为raw类型。
返回值类型:raw
示例:
gbase=# SELECT hextoraw('7D');
hextoraw
----------
7D
(1 row)
- numtoday(numeric)
描述:将数字类型的值转换为指定格式的时间戳。
返回值类型:timestamp
示例:
gbase=# SELECT numtoday(2);
numtoday
-------------------------------
+000000002 00:00:00.000000000
(1 row)
- pg_systimestamp()
描述:获取系统时间戳。
返回值类型:timestamp with time zone
示例:
gbase=# SELECT pg_systimestamp();
pg_systimestamp
-------------------------------
2022-05-17 17:07:51.267568+08
(1 row)
- rawtohex(string)
描述:将一个二进制构成的字符串转换为十六进制的字符串。结果为输入字符的ACSII码,以十六进制表示。
返回值类型:varchar
示例:
码gbase=# SELECT rawtohex('1234567');
rawtohex
----------------
31323334353637
(1 row)
- to_bigint(varchar)
描述:将字符类型转换为bigint类型。
返回值类型:bigint
示例:
gbase=# SELECT to_bigint('123364545554455');
to_bigint
----------------
123364545554455
(1 row)
- to_char(datetime/interval [, fmt])
描述:将一个DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE或者TIMESTAMP WITH LOCAL TIME ZONE类型的DATETIME或者INTERVAL值按照fmt指定的格式转换为VARCHAR类型。
可选参数fmt可以为以下几类:日期、时间、星期、季度和世纪。每类都可以有不同的模板,模板之间可以合理组合,常见的模板有:HH、MI、SS、YYYY、MM、DD。
模板可以有修饰词,常用的修饰词是FM,可以用来抑制前导的零或尾随的空白。
返回值类型:varchar
示例:
gbase=# SELECT to_char(current_timestamp,'HH12:MI:SS');
to_char
----------
05:08:27
(1 row)
gbase=# SELECT to_char(current_timestamp,'FMHH12:FMMI:FMSS');
to_char
---------
5:8:34
(1 row)
- to_char(double precision/real, text)
描述:将浮点类型的值转换为指定格式的字符串。
返回值类型:text
示例:
gbase=# SELECT to_char(125.8::real, '999D99');
to_char
---------
125.80
(1 row)
- to_char(numeric/smallint/integer/bigint/double precision/real[, fmt])
描述:将一个整型或者浮点类型的值转换为指定格式的字符串。
可选参数fmt可以为以下几类:十进制字符、“分组”符、正负号和货币符号,每类都可以有不同的模板,模板之间可以合理组合,常见的模板有:9、0、,(千分隔符)、.(小数点)。
模板可以有类似FM的修饰词,但FM不抑制由模板0指定而输出的0。
要将整型类型的值转换成对应16进制值的字符串,使用模板X或x。
返回值类型:varchar
示例:
gbase=# SELECT to_char(1485,'9,999');
to_char
---------
1,485
(1 row)
gbase=# SELECT to_char( 1148.5,'9,999.999');
to_char
------------
1,148.500
(1 row)
gbase=# SELECT to_char(148.5,'990999.909');
to_char
-------------
0148.500
(1 row)
gbase=# SELECT to_char(123,'XXX');
to_char
---------
7B
(1 row)
- to_char(interval, text)
描述:将时间间隔类型的值转换为指定格式的字符串。
返回值类型:text
示例:
gbase=# SELECT to_char(interval '15h 2m 12s', 'HH24:MI:SS');
to_char
----------
15:02:12
(1 row)
- to_char(int, text)
描述:将整数类型的值转换为指定格式的字符串。
返回值类型:text
示例:
gbase=# SELECT to_char(125, '999');
to_char
---------
125
(1 row)
- to_char(numeric, text)
描述:将数字类型的值转换为指定格式的字符串。
返回值类型:text
示例:
gbase=# SELECT to_char(-125.8, '999D99S');
to_char
---------
125.80-
(1 row)
- to_c