下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL數據類型格式化函數操作

PostgreSQL數據類型格式化函數操作

時間:2024-03-09 11:51作者:下載吧人氣:23

數據類型格式化函數:

PostgreSQL格式化函數提供一套有效的工具用于把各種數據類型(日期/時間、integer、floating point和numeric)轉換成格式化的字符串以及反過來從格式化的字符串轉換成指定的數據類型。

下面列出了這些函數,它們都遵循一個公共的調用習慣:第一個參數是待格式化的值,而第二個是定義輸出或輸出格式的模板。

函數 返回類型 描述 例子
to_char(timestamp, text) text 把時間戳轉換成字串 to_char(current_timestamp, ‘HH12:MI:SS’)
to_char(interval, text) text 把時間間隔轉為字串 to_char(interval ‘15h 2m 12s’, ‘HH24:MI:SS’)
to_char(int, text) text 把整數轉換成字串 to_char(125, ‘999′)
to_char(double precision, text) text 把實數/雙精度數轉換成字串 to_char(125.8::real, ‘999D9′)
to_char(numeric, text) text 把numeric轉換成字串 to_char(-125.8, ‘999D99S’)
to_date(text, text) date 把字串轉換成日期 to_date(‘05 Dec 2000′, ‘DD Mon YYYY’)
to_timestamp(text, text) timestamp 把字串轉換成時間戳 to_timestamp(‘05 Dec 2000′, ‘DD Mon YYYY’)
to_timestamp(double) timestamp 把UNIX紀元轉換成時間戳 to_timestamp(200120400)
to_number(text, text) numeric 把字串轉換成numeric to_number(‘12,454.8-‘, ‘99G999D9S’)

1. 用于日期/時間格式化的模式:

模式 描述
HH 一天的小時數(01-12)
HH12 一天的小時數(01-12)
HH24 一天的小時數(00-23)
MI 分鐘(00-59)
SS 秒(00-59)
MS 毫秒(000-999)
US 微秒(000000-999999)
AM 正午標識(大寫)
Y,YYY 帶逗號的年(4和更多位)
YYYY 年(4和更多位)
YYY 年的后三位
YY 年的后兩位
Y 年的最后一位
MONTH 全長大寫月份名(空白填充為9字符)
Month 全長混合大小寫月份名(空白填充為9字符)
month 全長小寫月份名(空白填充為9字符)
MON 大寫縮寫月份名(3字符)
Mon 縮寫混合大小寫月份名(3字符)
mon 小寫縮寫月份名(3字符)
MM 月份號(01-12)
DAY 全長大寫日期名(空白填充為9字符)
Day 全長混合大小寫日期名(空白填充為9字符)
day 全長小寫日期名(空白填充為9字符)
DY 縮寫大寫日期名(3字符)
Dy 縮寫混合大小寫日期名(3字符)
dy 縮寫小寫日期名(3字符)
DDD 一年里的日子(001-366)
DD 一個月里的日子(01-31)
D 一周里的日子(1-7;周日是1)
W 一個月里的周數(1-5)(第一周從該月第一天開始)
WW 一年里的周數(1-53)(第一周從該年的第一天開始)

2. 用于數值格式化的模板模式:

模式 描述
9 帶有指定數值位數的值
0 帶前導零的值
.(句點) 小數點
,(逗號) 分組(千)分隔符
PR 尖括號內負值
S 帶符號的數值
L 貨幣符號
D 小數點
G 分組分隔符
MI 在指明的位置的負號(如果數字 < 0)
PL 在指明的位置的正號(如果數字 > 0)
SG 在指明的位置的正/負號

時間/日期函數和操作符:

1. 下面是PostgreSQL中支持的時間/日期操作符的列表:

操作符 例子 結果
+ date ‘2001-09-28′ + integer ‘7′ date ‘2001-10-05′
+ date ‘2001-09-28′ + interval ‘1 hour’ timestamp ‘2001-09-28 01:00′
+ date ‘2001-09-28′ + time ‘03:00′ timestamp ‘2001-09-28 03:00′
+ interval ‘1 day’ + interval ‘1 hour’ interval ‘1 day 01:00′
+ timestamp ‘2001-09-28 01:00′ + interval ‘23 hours’ timestamp ‘2001-09-29 00:00′
+ time ‘01:00′ + interval ‘3 hours’ time ‘04:00′
– interval ‘23 hours’ interval ‘-23:00′
date ‘2001-10-01′ – date ‘2001-09-28′ integer ‘3′
date ‘2001-10-01′ – integer ‘7′ date ‘2001-09-24′
date ‘2001-09-28′ – interval ‘1 hour’ timestamp ‘2001-09-27 23:00′
time ‘05:00′ – time ‘03:00′ interval ‘02:00′
time ‘05:00′ – interval ‘2 hours’ time ‘03:00′
timestamp ‘2001-09-28 23:00′ – interval ‘23 hours’ timestamp ‘2001-09-28 00:00′
interval ‘1 day’ – interval ‘1 hour’ interval ‘23:00′
timestamp ‘2001-09-29 03:00′ – timestamp ‘2001-09-27 12:00′ interval ‘1 day 15:00′
* interval ‘1 hour’ * double precision ‘3.5′ interval ‘03:30′
/ interval ‘1 hour’ / double precision ‘1.5′ interval ‘00:40′

2. 日期/時間函數:

函數 返回類型 描述 例子 結果
age(timestamp, timestamp) interval 減去參數,生成一個使用年、月的”符號化”的結果 age(‘2001-04-10′, timestamp ‘1957-06-13′) 43 years 9 mons 27 days
age(timestamp) interval 從current_date減去得到的數值 age(timestamp ‘1957-06-13′) 43 years 8 mons 3 days
current_date date 今天的日期
current_time time 現在的時間
current_timestamp timestamp 日期和時間
date_part(text, timestamp) double 獲取子域(等效于extract) date_part(‘hour’, timestamp ‘2001-02-16 20:38:40′) 20
date_part(text, interval) double 獲取子域(等效于extract) date_part(‘month’, interval ‘2 years 3 months’) 3
date_trunc(text, timestamp) timestamp 截斷成指定的精度 date_trunc(‘hour’, timestamp ‘2001-02-16 20:38:40′) 2001-02-16 20:00:00+00
extract(field from timestamp) double 獲取子域 extract(hour from timestamp ‘2001-02-16 20:38:40′) 20
extract(field from interval) double 獲取子域 extract(month from interval ‘2 years 3 months’) 3
localtime time 今日的時間
localtimestamp timestamp 日期和時間
now() timestamp 當前的日期和時間(等效于 current_timestamp)
timeofday() text 當前日期和時間

3. EXTRACT,date_part函數支持的field:

描述 例子 結果
CENTURY 世紀 EXTRACT(CENTURY FROM TIMESTAMP ‘2000-12-16 12:21:13′); 20
DAY (月分)里的日期域(1-31) EXTRACT(DAY from TIMESTAMP ‘2001-02-16 20:38:40′); 16
DECADE 年份域除以10 EXTRACT(DECADE from TIMESTAMP ‘2001-02-16 20:38:40′); 200
DOW 每周的星期號(0-6;星期天是0) (僅用于timestamp) EXTRACT(DOW FROM TIMESTAMP ‘2001-02-16 20:38:40′); 5
DOY 一年的第幾天(1 -365/366) (僅用于 timestamp) EXTRACT(DOY from TIMESTAMP ‘2001-02-16 20:38:40′); 47
HOUR 小時域(0-23) EXTRACT(HOUR from TIMESTAMP ‘2001-02-16 20:38:40′); 20
MICROSECONDS 秒域,包括小數部分,乘以 1,000,000。 EXTRACT(MICROSECONDS from TIME ‘17:12:28.5′); 28500000
MILLENNIUM 千年 EXTRACT(MILLENNIUM from TIMESTAMP ‘2001-02-16 20:38:40′); 3
MILLISECONDS 秒域,包括小數部分,乘以 1000。 EXTRACT(MILLISECONDS from TIME ‘17:12:28.5′); 28500
MINUTE 分鐘域(0-59) EXTRACT(MINUTE from TIMESTAMP ‘2001-02-16 20:38:40′); 38
MONTH 對于timestamp數值,它是一年里的月份數(1-12);對于interval數值,它是月的數目,然后對12取模(0-11) EXTRACT(MONTH from TIMESTAMP ‘2001-02-16 20:38:40′); 2
QUARTER 該天所在的該年的季度(1-4)(僅用于 timestamp) EXTRACT(QUARTER from TIMESTAMP ‘2001-02-16 20:38:40′); 1
SECOND 秒域,包括小數部分(0-59[1]) EXTRACT(SECOND from TIMESTAMP ‘2001-02-16 20:38:40′); 40
WEEK 該天在所在的年份里是第幾周。 EXTRACT(WEEK from TIMESTAMP ‘2001-02-16 20:38:40′); 7
YEAR 年份域 EXTRACT(YEAR from TIMESTAMP ‘2001-02-16 20:38:40′); 2001

4. 當前日期/時間:

我們可以使用下面的函數獲取當前的日期和/或時間∶

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME (precision)
CURRENT_TIMESTAMP (precision)
LOCALTIME
LOCALTIMESTAMP
LOCALTIME (precision)
LOCALTIMESTAMP (precision)

標簽[db:關鍵字]

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 性放荡日记高h| 国产丝袜制服在线| 国产99视频精品免视看7| 最新亚洲春色av无码专区| 91麻豆国产级在线| 国产女人18毛片水真多1| 最近中文字幕mv图| 成+人+黄+色+免费观看| 东北壮汉gayxxxvideo| 出轨的女人hd中文字幕| 国产白白视频在线观看2| 天天操天天干天天爽| 国产超碰人人模人人爽人人喊| 在电影院嗯啊挺进去了啊视频| 国产精选91热在线观看| 国产精品无码永久免费888| 无码精品国产va在线观看dvd| 亚洲日韩精品欧美一区二区一| 日本乱理伦电影在线| 色婷婷六月亚洲综合香蕉| 久久综合九色综合欧美就去吻| 成人国产mv免费视频| 欧美老熟妇牲交| 老司机67194精品线观看| 99在线国产视频| 亚洲精品短视频| 亚洲欧美中文日韩二区一区| 国产午夜精品一区二区三区| 最近中国日本免费观看| 手机在线观看你懂的| 大胸校花被老头粗暴在线观看| 国产精品免费播放| 国产乱理伦片a级在线观看| 免费在线观看色| 国产精品国产三级在线专区| 国产我和子的与子乱视频| 日韩欧美一区二区三区免费看| 日产亚洲一区二区三区| 99久久国产视频| 国产精品无码不卡一区二区三区| 欧美xxxx性疯狂bbbb|