postgresql类型转换函数
- 简介
- CAST 函数
- to_date 函数
- to_timestamp 函数
- to_char 函数
- to_number 函数
- 隐式类型转换
简介
类型转换函数用于将数据从一种类型转换为另一种类型。
CAST 函数
CAST ( expr AS data_type )
函数用于将 expr 转换为 data_type
数据类型;PostgreSQL 类型转
换运算符(::)
也可以实现相同的功能。例如
select cast ('15' as integer), '2020-03-15'::date;
如果数据无法转换为指定的类型,将会返回错误:
to_date 函数
to_date(string, format)
函数用于将字符串 string 按照 format 格式转换为日期类型。
select to_date('2020/03/15','YYYY/MM/DD');
其中,YYYY 代表四位数的年;MM 代表两位数的月;DD 代表两位数的日。更多的格式选
项可以参考官方文档
to_timestamp 函数
to_timestamp(string, format)函数用于将字符串 string 按照 format 格式转换为 timestamp
WITH time zone 类型。
select to_timestamp('2020-03-15 19:08:00.678', 'YYYY-MM-DD HH24:MI:SS.MS');
其中,HH24 表示 24 小时制的小时;MI 表示分钟;SS 表示秒数;MS 表示毫秒数。
to_char 函数
to_char(expre, format)
函数用于将 timestamp、interval、integer、double precision 或者 numeric
类型的值转换为指定格式的字符串
select to_char(current_timestamp, 'HH24:MI:SS'),to_char(interval '5h 12m 30s', 'HH12:MI:SS'),to_char(-125.8, '999D99');
其中,格式中的 9 代表数字位;D 代表小数点。关于数字的格式化选项可以参考
官方文档
to_number 函数
to_number(string, format)函数用于将字符串转换为数字。
select to_number('¥125.8', 'L999D9');
其中,格式字符串中的 L 表示本地货币符号。
隐式类型转换
除了显式使用类型转换函数或运算符之外,很多时候 PostgreSQL 会自动执行数据类型的隐
式转换。例如
select 1+'2', 'todo: '||current_timestamp;