暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8c 函数和操作符 - 时间和日期处理函数和操作符 之 data_part

菁菁 2022-10-25
253

date_part函数基于传统Ingres函数,等效于SQL标准函数extract

  • date_part('field', source)

这里的field参数必须是一个字符串,而不是一个名称。有效的field与extract一样,详细信息请参见EXTRACT。

示例:

gbase=# SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40');

date_part

-----------

16

(1 row)

gbase=# SELECT date_part('hour', INTERVAL '4 hours 3 minutes');

date_part

-----------

4

(1 row)

下图显示了日期和时间值的规范格式。

                                                             表  日期/时间规范格式

类别

模式

描述

小时

HH

一天的小时数,取值范围为01-12

HH12

一天的小时数,取值范围为01-12

HH24

一天的小时数,取值范围为00-23

分钟

MI

分钟,取值范围为00-59

SS

秒,取值范围为00-59

FF

微秒,取值范围为000000-999999

SSSSS

午夜后的秒,取值范围为0-86399

上、下午

AM或A.M.

上午标识

PM或P.M.

下午标识

Y,YYY

带逗号的年(4位及以上)

SYYYY

公元前四位年

YYYY

年(4位及以上)

YYY

年的后三位

YY

年的后两位

Y

年的最后一位

IYYY

ISO年(4位及以上)

IYY

ISO年的最后三位

IY

ISO年的最后两位

I

ISO年的最后一位

RR

年的后两位(可在21世纪存储20世纪的年份)

RRRR

可接收2位或4位。若是两位,则和RR的返回值相同,若是四位,则和YYYY相同。

BC或B.C.

AD或A.D.

纪元标识。BC(公元前),AD(公元后)。

MONTH

全长大写月份名(空白填充为9字符)

MON

大写缩写月份名(3字符)

MM

月份数,取值范围为01-12

RM

罗马数字的月份(I-XII ;I=JAN)(大写)

DAY

全长大写日期名(空白填充为9字符)

DY

缩写大写日期名(3字符)

DDD

一年里的日,取值范围为001-366

DD

一个月里的日,取值范围为01-31

D

一周里的日,取值范围为1-7(从周日开始计算,1表示周日)

W

一个月里的周数,取值范围为1-5(第一周从该月第一天开始)

WW

一年里的周数,取值范围为1-53。(第一周从该年的第一天开始)

IW

ISO一年里的周数(第一个星期四在第一周里)

世纪

CC

世纪(2位)(21世纪从2001-01-01开始)

儒略日

J

儒略日(自公元前4712年1月1日来的天数)

季度

Q

季度

上表中RR计算年的规则如下:

  • l输入的两位年份在00~49之间:

当前年份的后两位在00~49之间,返回值年份的前两位和当前年份的前两位相同; 当前年份的后两位在50~99之间,返回值年份的前两位是当前年份的前两位加1。

  • 输入的两位年份在50~99之间:

当前年份的后两位在00~49之间,返回值年份的前两位是当前年份的前两位减1; 当前年份的后两位在50~99之间,返回值年份的前两位和当前年份的前两位相同。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论