云数据库 GAUSSDB-时间/日期函数:str_to_date(str, format)
str_to_date(str, format)
描述:将指定的字符串根据指定日期格式转为日期/时间。
参数:
- str:text类型,需要格式化成日期的字符串;
- format:text类型,格式化字符串。format参数列表如表13所示。
表13 format的取值及含义 format取值
含义
%a
星期的缩写(Sun..Sat)。
%b
月份的缩写(Jan..Dec)。
%c
月份数字(0..12)。
%D
带有英语前缀的月份中的每天(0th, 1st, 2nd, 3rd, …)。
%d
月份中的每天的两位数字表示(00..31)。
%e
月份中的每天的数字表示(0..31)。
%f
微秒(000000..999999)。
%H
小时(00..23)。
%h
小时(01..12)。
%I
小时(01..12)。
%i
分钟(00..59)。
%j
一年中的每天(001..366)。
%k
小时(0..23)。
%l
小时(1..12)。
%M
月份名称(January..December)。
%m
两位数字月份(00..12)。
%p
AM或者PM。
%r
十二小时制时间(hh:mm:ss后跟AM或PM)。
%S
秒(00..59)。
%s
秒(00..59)。
%T
二十四小时制时间(hh:mm:ss)。
%U
一年中的星期(00..53),每周的开始是星期天。
%u
一年中的星期(00..53),每周的开始是星期一。
%V
一年中的星期(01..53),每周的开始是星期天。
%v
一年中的星期(01..53),每周的开始是星期一。
%W
星期的名称(Sunday..Saturday)。
%w
星期中的每天(0=星期天..6=星期六)。
%X
一年中的星期,每周的开始是星期天,四位数字,用于%V。
%x
一年中的星期,每周的开始是星期一,四位数字,用于%v。
%Y
四位数字年份。
%y
两位数字年份。
返回值类型:text
示例:
gaussdb=# SELECT str_to_date('May 1, 2013','%M %d,%Y');-- 2013-05-01
str_to_date
-------------
2013-05-01
(1 row)

- 该函数在sql_compatibility = 'B',且参数b_format_version值为5.7、b_format_dev_version值为s1时有效。
- 只支持返回YYYY-MM-DD格式的时间。
- 对于包含0年0月0日的时间或者只包含时分秒的时间,会报警并返回NULL。