PostgreSQL to_date() 函数使用指南

PostgreSQL to_date() 函数根据给定的格式将指定的字符串转为一个日期值。

to_date() 语法

这是 PostgreSQL to_date () 函数的语法:

to_date(str TEXT, format TEXT) -> TIMESTAMP WITH TIME ZONE

参数

str
必需的。 一个字符串。
format

必需的。 转换这个字符串所采用的格式。您可以使用下表中的模板模式来构造格式字符串。

模式 描述
HH 一天中的小时 (01–12)
HH12 一天中的小时 (01–12)
HH24 一天中的小时 (00–23)
MI 分钟 (00–59)
SS 秒 (00–59)
MS 毫秒 (000–999)
US 微秒(000000–999999)
FF1 十分之一秒 (0–9)
FF2 百分之一秒 (00–99)
FF3 毫秒 (000–999)
FF4 十分之一毫秒 (0000–9999)
FF5 百分之一毫秒 (00000–99999)
FF6 微秒(000000–999999)
SSSS, SSSSS 午夜过后几秒钟 (0–86399)
AM, am, PM, pm 上午、下午(无句点)
A.M., a.m., P.M., p.m. 上午、下午(带句点)
Y,YYY 年份(4 位或更多位数字),带逗号
YYYY 年份(4 位或更多数字)
YYY 年份的最后 3 位数字
YY 年份的最后 2 位数字
Y 年份的最后一位数字
IYYY ISO 8601 周编号年份(4 位或更多位)
IYY ISO 8601 周编号年份的最后 3 位数字
IY ISO 8601 周编号年份的最后 2 位数字
I ISO 8601 周编号年份的最后一位数字
BC, bc, AD, ad 公元前、公元后(无句点)
B.C., b.c., A.D., a.d. 公元前、公元后(带句点)
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)
IDDD ISO 8601 周编号年份的一天(001–371;一年中的第 1 天是第一个 ISO 周的星期一)
DD 月中的某一天 (01–31)
D 星期几,星期日 (1) 到星期六 (7)
ID ISO 8601 星期几,星期一 (1) 到星期日 (7)
W 每月的一周 (1–5) (第一周从该月的第一天开始)
WW 一年中的周数 (1–53) (第一周从一年的第一天开始)
IW ISO 8601 周编号年份的周号(01–53;一年中的第一个星期四在第 1 周)
CC 世纪(2 位数字)(二十一世纪开始于 2001-01-01)
J 儒略历日期(自公元前 4714 年 11 月 24 日当地午夜以来的整数天)
Q 季度
RM 大写罗马数字形式的月份(I 到 XII; I 是 1 月)
rm 小写罗马数字形式的月份 (i 到 xii; i 是 1 月)
TZ 大写时区缩写(仅 to_char 支持)
tz 小写时区缩写(仅 to_char 支持)
TZH 时区小时
TZM 时区分钟
OF 时区与 UTC 的偏移量(仅 to_char 支持)

返回值

PostgreSQL to_date() 函数返回一个日期值,它从指定的字符串根据指定的格式转换而来。

to_date() 示例

本示例展示了如何使用 PostgreSQL to_date() 函数根据指定的格式将一个指定的时间字符串转换为一个日期值。

SELECT to_date('2022-05-17', 'YYYY-MM-DD');
  to_date
------------
 2022-05-17