@@ -4,7 +4,7 @@ title: EXTRACT
44
55import FunctionDescription from '@site/src /components/FunctionDescription';
66
7- <FunctionDescription description =" 引入或更新 :v1.2.153 " />
7+ <FunctionDescription description =" 引入或更新于 :v1.2.692 " />
88
99提取日期、时间或时间戳的指定部分。
1010
@@ -13,57 +13,38 @@ import FunctionDescription from '@site/src/components/FunctionDescription';
1313## 语法
1414
1515``` sql
16- EXTRACT( YEAR | QUARTER | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND | DOW | DOY FROM < date_or_time_expr> )
16+ EXTRACT( YEAR | QUARTER | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND | DOW | DOY | EPOCH FROM < date_or_time_expr> )
1717```
1818
19- - DOW:星期几。
20- - DOY:一年中的第几天。
19+ - ` DOW ` : 星期几。
20+ - ` DOY ` : 一年中的第几天。
21+ - ` EPOCH ` : 自 1970-01-01 00:00:00 以来的秒数。
2122
2223## 返回类型
2324
24- 整数。
25+ 返回类型取决于提取的字段:
26+
27+ - 返回整数:当提取离散的日期或时间组件(例如 YEAR、MONTH、DAY、DOY、HOUR、MINUTE、SECOND)时,函数返回整数。
28+
29+ ``` sql
30+ SELECT EXTRACT(DAY FROM now()); -- 返回整数
31+ SELECT EXTRACT(DOY FROM now()); -- 返回整数
32+ ```
33+
34+ - 返回浮点数:当提取 EPOCH(自 1970 - 01 - 01 00 :00 :00 UTC 以来的秒数)时,函数返回浮点数,因为它可能包括小数秒。
35+
36+ ` ` ` sql
37+ SELECT EXTRACT(EPOCH FROM now()); -- 返回浮点数
38+ ` ` `
2539
2640# # 示例
2741
2842` ` ` sql
29- SELECT NOW();
30-
31- ┌────────────────────────────┐
32- │ now() │
33- ├────────────────────────────┤
34- │ 2024 - 05 - 22 03 :00 :35 .977589 │
35- └────────────────────────────┘
36-
37- SELECT EXTRACT(DAY FROM NOW());
38-
39- ┌─────────────────────────┐
40- │ extract(day from now()) │
41- ├─────────────────────────┤
42- │ 22 │
43- └─────────────────────────┘
44-
45- SELECT EXTRACT(DOW FROM NOW());
46-
47- ┌─────────────────────────┐
48- │ extract(dow from now()) │
49- ├─────────────────────────┤
50- │ 3 │
51- └─────────────────────────┘
52-
53- SELECT EXTRACT(DOY FROM NOW());
54-
55- ┌─────────────────────────┐
56- │ extract(doy from now()) │
57- ├─────────────────────────┤
58- │ 143 │
59- └─────────────────────────┘
60-
61- SELECT EXTRACT(MONTH FROM TO_DATE(' 2022-05-13' ));
62-
63- ┌───────────────────────────────────────────┐
64- │ extract(month from to_date(' 2022-05-13' )) │
65- │ UInt8 │
66- ├───────────────────────────────────────────┤
67- │ 5 │
68- └───────────────────────────────────────────┘
43+ SELECT NOW(), EXTRACT(DAY FROM NOW()), EXTRACT(DOY FROM NOW()), EXTRACT(EPOCH FROM NOW());
44+
45+ ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
46+ │ now() │ EXTRACT(DAY FROM now()) │ EXTRACT(DOY FROM now()) │ EXTRACT(EPOCH FROM now()) │
47+ ├────────────────────────────┼─────────────────────────┼─────────────────────────┼───────────────────────────┤
48+ │ 2025-02-08 03:51:51.991167 │ 8 │ 39 │ 1738986711.991167 │
49+ └────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
6950` ` `
0 commit comments