PostgreSQL 类型转换
PostgreSQL 类型转换
类似Oracle ,PostgreSQL也有强大的类型转换函数, 下面仅举两个类型转换例子。
--1 例子
postgres=# select 1/4;
?column?
----------
0
(1 row)
在PG里如果想做除法并想保留小数,用上面的方法却行不通,因为"/" 运算结果为取整,并
且会截掉小数部分。
--2 类型转换
postgres=# select round(1::numeric/4::numeric,2);
round
-------
0.25
(1 row)
备注:类型转换后,就能保留小数部分了。
--3 也可以通过 cast 函数进行转换
postgres=# select round( cast ( 1 as numeric )/ cast( 4 as numeric),2);
round
-------
0.25
(1 row)
--4 关于 cast 函数的用法
postgres=# SELECT substr(CAST (1234 AS text), 3,1);
substr
--------
3
(1 row)
--5 附: PostgreSQL 类型转换函数
Function | Return Type | Description | Example |
---|---|---|---|
) |
text |
convert time stamp to string | to_char(current_timestamp, "HH12:MI:SS") |
to_char ( interval, text ) |
text |
convert interval to string | to_char(interval "15h 2m 12s", "HH24:MI:SS") |
to_char ( int, text ) |
text |
convert integer to string | to_char(125, "999") |
precision |
text |
convert real/double precision to string | to_char(125.8::real, "999D9") |
to_char ( numeric, text ) |
text |
convert numeric to string | to_char(-125.8, "999D99S") |
to_date (text, text ) |
date |
convert string to date | to_date("05 Dec 2000", "DD Mon YYYY") |
to_number ( text, text ) |
numeric |
convert string to numeric | to_number("12,454.8-", "99G999D9S") |
to_timestamp ( text, text ) |
timestamp with time zone |
convert string to time stamp | to_timestamp("05 Dec 2000", "DD Mon YYYY") |
to_timestamp ( double precision ) |
timestamp with time zone |
convert Unix epoch to time stamp | to_timestamp(1284352323) |
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 用Python计算字符串的相似度
- 下一篇: Python字符串相似度检测