函数说明
EXTRACT()函数使用与DATE_ADD()或DATE_SUB()一致的间隔类型,
但是它用于
指定从日期中提取的部分,而不是进行日期算术运算。
注意
oracle 引擎不支持该函数。
说明
下表为可返回的type 类型,type 类型可组合使用。
表 5-135 type 类型说明
约 定
说 明
年
year
季度
quarter
月
month
日
day
星期
week
小时
hour
分钟
minute
秒
second
微秒
microsecond
示例
示例1
返回的结果是日期中的“年”。
gbase> SELECT EXTRACT(YEAR FROM '2010-08-30') FROM t;
+---------------------------------+
| EXTRACT(YEAR FROM '2010-08-30') |
+---------------------------------+
| 2010 |
+---------------------------------+
1 row in set
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 868
示例2
返回的结果是日期中的“年月”。
gbase> SELECT EXTRACT(YEAR_MONTH FROM '2010-08-30 01:02:03') FROM t;
+------------------------------------------------+
| EXTRACT(YEAR_MONTH FROM '2010-08-30 01:02:03') |
+------------------------------------------------+
| 201008 |
+------------------------------------------------+
1 row in set
示例3
返回的结果是日期中“日小时分钟”的部分。
gbase> SELECT EXTRACT(DAY_MINUTE FROM '2010-08-30 01:02:03') FROM t;
+------------------------------------------------+
| EXTRACT(DAY_MINUTE FROM '2010-08-30 01:02:03') |
+------------------------------------------------+
| 300102 |
+------------------------------------------------+
1 row in set
示例4
返回结果是“1230”,表示1230 微秒。
gbase> SELECT EXTRACT(MICROSECOND FROM '2010-08-30 10:30:00.00123') FROM t;
+-------------------------------------------------------+
| EXTRACT(MICROSECOND FROM '2010-08-30 10:30:00.00123') |
+-------------------------------------------------------+
| 1230 |
+-------------------------------------------------------+
1 row in set
示例5
返回结果“36”,表示2011 年的第36 周。
gbase> SELECT EXTRACT(WEEK FROM '2011-09-05 10:30:00.00123') FROM t;
+------------------------------------------------+
| EXTRACT(WEEK FROM '2011-09-05 10:30:00.00123') |
+------------------------------------------------+
| 36 |
+------------------------------------------------+
1 row in set
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 869