各種數(shù)據(jù)類型(日期/時間锋爪、integer葱绒、floating point和numeric)轉(zhuǎn)換成格式化的字符串及反過來從格式化的字符串轉(zhuǎn)換成指定的數(shù)據(jù)類型失驶,在實際操作中經(jīng)常遇到。但是具體調(diào)用那些數(shù)據(jù)庫自帶函數(shù)可以解決呢歹垫?接下來讓我們一起去了解一下吧
日期操作函數(shù)
函數(shù) |
返回類型 |
描述 |
實例 |
to_char(timestamp,text) |
text |
把時間間隔轉(zhuǎn)換為字符串 |
to_char(current_timestamp,"HH12:MI:SS") |
to_char(interval,text) |
text |
把時間間隔轉(zhuǎn)換為字串 |
to_char(interval'15h 12m 12s','HH24:MI:SS') |
to_char(int,text) |
text |
把整型轉(zhuǎn)換為字串 |
to_char(125,'999') |
to_char(double,precision) |
text |
把實數(shù)/雙精度數(shù)轉(zhuǎn)換為字串 |
to_char(125.8::real,'999D9') |
to_char(numeric,text) |
text |
把numeric轉(zhuǎn)換為字串 |
to_char(-125.8,'999D99S') |
to_date(text,text) |
date |
把字串轉(zhuǎn)換為日期 |
to_date('05 Dec 2000','DD Mon YYYY') |
to_timetamp(text,text) |
timestamp |
把字串轉(zhuǎn)換為時間戳 |
to_timestamp('05 Dec 2000','DD Mon YYYY' |
to_timetamp(double) |
timestamp |
把unix紀(jì)元轉(zhuǎn)換為時間戳 |
to_timestamp(200120400) |
to_number(text,text) |
numeric |
把字串轉(zhuǎn)換為numeric |
to_number('12 454.8-','99G999D9S' |
用于日期/時間格式化的模式
模式 |
描述 |
HH |
一天的小時數(shù)(01-12) |
HH12 |
一天的小時數(shù)(01-12) |
HH24 |
一天的小時數(shù)(00-23) |
MI |
分鐘(00-59) |
SS |
秒(00-59) |
MS |
毫秒(000-999) |
US |
微秒(000000-999999) |
AM |
正午標(biāo)識(大寫) |
Y,YYY |
帶逗號的年(4和更多位) |
YYYY |
年(4和更多位) |
YYY |
年的后三位 |
字符串轉(zhuǎn)換為整型
* 把'12345' 轉(zhuǎn)換為整數(shù)
select cast ('12345' as integer);
* 用substring截取字符串,從第8個字符開始截取2個字符
select cast (substring('123344654',8,2) as integer);
替換字符串方法及字符串操作函數(shù)
* 把字段coulmn_name里的字符"aaa"替換為'0'
update table_name set coulmn_name=replace(a,"aaa","0");