Flink基础(58):FLINK-SQL函数(21)内置函数(16)日期函数(三)
语法
BIGINT WEEK(DATE date)
BIGINT WEEK(TIMESTAMP timestamp)入参
| 参数 | 数据类型 | 
|---|---|
| date | DATE | 
| timestamp | TIMESTAMP | 
功能描述
计算指定日期在一年中的第几周,周数取值区间1~53。
示例
- 测试数据
dateStr(VARCHAR) date1(DATE) ts1(TIMESTAMP) 2017-09-15 2017-11-10 2017-10-15 00:00:00 
- 测试语句
SELECT WEEK(TIMESTAMP '2017-09-15 00:00:00') as int1, WEEK(date1) as int2, WEEK(ts1) as int3, WEEK(CAST(dateStr AS DATE)) as int4 FROM T1;
- 测试结果
int1(BIGINT) int2(BIGINT) int3(BIGINT) int4(BIGINT) 37 45 41 37 
语法
BIGINT YEAR(TIMESTAMP timestamp)
BIGINT YEAR(DATE date)入参
| 参数 | 数据类型 | 
|---|---|
| date | DATE | 
| timestamp | TIMESTAMP | 
功能描述
返回输入时间的年份。
示例
- 测试数据
tsStr(VARCHAR) dateStr(VARCHAR) tdate(DATE) ts(TIMESTAMP) 2017-10-15 00:00:00 2017-09-15 2017-11-10 2017-10-15 00:00:00 
- 测试语句
SELECT YEAR(TIMESTAMP '2016-09-15 00:00:00') as int1, YEAR(DATE '2017-09-22') as int2, YEAR(tdate) as int3, YEAR(ts) as int4, YEAR(CAST(dateStr AS DATE)) as int5, YEAR(CAST(tsStr AS TIMESTAMP)) as int6 FROM T1;
- 测试结果
int1(BIGINT) int2(BIGINT) int3(BIGINT) int4(BIGINT) int5(BIGINT) int6(BIGINT) 2016 2017 2017 2017 2015 2017 
语法
BIGINT MONTH(TIMESTAMP timestamp) 
BIGINT MONTH(DATE date)入参
| 参数 | 数据类型 | 
|---|---|
| time | TIME | 
| timestamp | TIMESTAMP | 
功能描述
返回输入时间参数中的月,范围1~12。
示例
- 测试数据
a(TIMESTAMP) b(DATE) 2016-09-15 00:00:00 2017-10-15 
- 测试语句
SELECT MONTH(cast( a as TIMESTAMP)) as int1, MONTH(cast( b as DATE)) as int2 FROM T1;
- 测试结果
int1(BIGINT) int2(BIGINT) 9 10 
语法
BIGINT HOUR(TIME time)
BIGINT HOUR(TIMESTAMP timestamp)    入参
| 参数 | 数据类型 | 
|---|---|
| time | TIME | 
| timestamp | TIMESTAMP | 
功能描述
返回输入时间参数time或timestamp中的24小时制的小时数,范围0~23。
示例
- 测试数据
datetime1(VARCHAR) time1(VARCHAR) time2(TIME) timestamp1(TIMESTAMP) 2017-10-15 11:12:13 22:23:24 22:23:24 2017-10-15 11:12:13 
- 测试语句
SELECT HOUR(TIMESTAMP '2016-09-20 23:33:33') AS int1, HOUR(TIME '23:30:33') AS int2, HOUR(time2) AS int3, HOUR(timestamp1) AS int4, HOUR(CAST(time1 AS TIME)) AS int5, HOUR(TO_TIMESTAMP(datetime1)) AS int6 FROM T1;
- 测试结果
int1(BIGINT) int2(BIGINT) int3(BIGINT) int4(BIGINT) int5(BIGINT) int6(BIGINT) 23 23 22 11 22 11 
语法
BIGINT DAYOFMONTH(TIMESTAMP time)
BIGINT DAYOFMONTH(DATE date)入参
| 参数 | 数据类型 | 
|---|---|
| date | DATE | 
| time | TIMESTAMP | 
功能描述
返回输入时间参数date或time中所指代的“日”。返回值范围为1~31。
示例
- 测试数据
tsStr(VARCHAR) dateStr(VARCHAR) tdate(DATE) ts(TIMESTAMP) 2017-10-15 00:00:00 2017-09-15 2017-11-10 2017-10-15 00:00:00 
- 测试语句
SELECT DAYOFMONTH(TIMESTAMP '2016-09-15 00:00:00') as int1, DAYOFMONTH(DATE '2017-09-22') as int2, DAYOFMONTH(tdate) as int3, DAYOFMONTH(ts) as int4, DAYOFMONTH(CAST(dateStr AS DATE)) as int5, DAYOFMONTH(CAST(tsStr AS TIMESTAMP)) as int6 FROM T1;
- 测试结果
int1(BIGINT) int2(BIGINT) int3(BIGINT) int4(BIGINT) int5(BIGINT) int6(BIGINT) 15 22 10 15 15 15 
语法
BIGINT MINUTE(TIME time) 
BIGINT MINUTE(TIMESTAMP timestamp)入参
| 参数 | 数据类型 | 
|---|---|
| time | TIME | 
| timestamp | TIMESTAMP | 
功能描述
返回输入时间参数中time或timestamp中的“分钟”部分。取值范围0~59。
示例
- 测试数据
datetime1(VARCHAR) time1(VARCHAR) time2(TIME) timestamp1(TIMESTAMP) 2017-10-15 11:12:13 22:23:24 22:23:24 2017-10-15 11:12:13 
- 测试语句
SELECT MINUTE(TIMESTAMP '2016-09-20 23:33:33') as int1, MINUTE(TIME '23:30:33') as int2, MINUTE(time2) as int3, MINUTE(timestamp1) as int4, MINUTE(CAST(time1 AS TIME)) as int5, MINUTE(CAST(datetime1 AS TIMESTAMP)) as int6 FROM T1;
- 测试结果
int1(BIGINT) int2(BIGINT) int3(BIGINT) int4(BIGINT) int5(BIGINT) int6(BIGINT) 33 30 23 12 23 12 
语法
BIGINT SECOND(TIMESTAMP timestamp)
 BIGINT SECOND(TIME time)    入参
| 参数 | 数据类型 | 
|---|---|
| time | TIME | 
| timestamp | TIMESTAMP | 
功能描述
返回输入时间参数中的“秒”部分,范围0~59。
示例
- 测试数据
datetime1(VARCHAR) time1(VARCHAR) time2(TIME) timestamp1(TIMESTAMP) 2017-10-15 11:12:13 22:23:24 22:23:24 2017-10-15 11:12:13 
- 测试语句
SELECT SECOND(TIMESTAMP '2016-09-20 23:33:33') as int1, SECOND(TIME '23:30:33') as int2, SECOND(time2) as int3, SECOND(timestamp1) as int4, SECOND(CAST(time1 AS TIME)) as int5, SECOND(CAST(datetime1 AS TIMESTAMP)) as int6 FROM T1;
- 测试结果
int1(BIGINT) int2(BIGINT) int3(BIGINT) int4(BIGINT) int5(BIGINT) int6(BIGINT) 33 33 24 13 24 13 
本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/15058754.html
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号