云数据库 GAUSSDB-时间/日期函数:str_to_date(str, format)

时间:2025-08-28 15:00:55

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。
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-2016.html