SQL日期时间
在本文中,我们将重点介绍一些重要的SQL DATE TIME函数。
什么是SQL日期时间函数?
SQL日期时间函数是一组专门为处理和处理日期时间值而定义的函数。
这些功能有助于我们有效地隔离和使用日期时间值。
所以,让我们开始吧!
1. ADDDATE()函数
使用ADDDATE()函数,我们可以将特定的表达式添加到指定的datetime值。
语法:
ADDDATE(date, INTERVAL expression unit)
因此,通过使用ADDDATE()函数,我们可以向其中添加各种表达式,例如
- 秒
- 分钟
- 小时
- 天
- 月
- 周
- 年
- 季度等
将特定表达式添加到ADDDATE()函数后,该函数将返回一个日期时间表达式。
让我们尝试通过一个示例实现相同的功能:
SELECT ADDDATE('2000-02-01', INTERVAL 5 Month) as add_month; SELECT ADDDATE('2000-02-01', INTERVAL 25 Minute) as add_minute;
其中我们已将月份和分钟表达式值添加到函数的日期值中。
输出:
add_month 2000-07-01 add_minute 2000-02-01 00:25:00
2. ADDTIME()函数
" ADDTIME()函数"将日期时间表达式与另一个表达式相加,并返回更新的日期时间值。
语法:
ADDTIME(expression1, expression2)
考虑下面的示例,
SELECT ADDTIME('2000-07-12 11:45:15','5 2:14:14') as updated_timestamp;
在此示例中,我们将日期和时间值添加到给定日期时间表达式中。
输出:
updated_timestamp 2000-07-17 13:59:29
3. CURRENT_DATE()函数
" CURRENT_DATE()函数"从系统中提取当前日期表达式,并以以下格式返回它
YYYY-MM-DD
语法:
CURRENT_DATE;
此函数不接受任何参数作为输入,而是返回日期表达式。
SELECT CURRENT_DATE;
输出:
CURRENT_DATE 2017-07-15
4. CURRENT_TIME()函数
CURRENT_TIME()函数从底层系统提取并返回当前时间表达式。
语法:
CURRENT_TIME;
此函数以HH–MM–SS的形式返回时间表达式。
例:
SELECT CURRENT_TIME;
输出:
CURRENT_TIME 11:27:12
5. CURRENT_TIMESTAMP()函数
CURRENT_TIMESTAMP()函数以下列格式从系统返回当前日期时间表达式:
YYYY-MM-DD HH:MM:SS
语法:
CURRENT_TIMESTAMP;
让我们看下面的示例,以了解上述功能的工作。
SELECT CURRENT_TIMESTAMP;
输出:
CURRENT_TIMESTAMP 2017-07-15T11:34:21Z
6. DATE()函数
DATE()函数从传递的时间戳值中提取日期表达式并返回日期。
语法:
DATE(timestamp);
在下面的示例中,我们从传递给函数的时间戳值中提取了日期表达式。
SELECT DATE('2017-04-04 23:34:34') as DATE; SELECT DATE(CURRENT_TIMESTAMP) as DATE;
输出:
DATE 2017-04-04 DATE 2017-07-15
7. DATE_SUB()函数
DATE_SUB()函数从指定的日期表达式中减去一个特定的表达式。
语法:
DATE_SUB(date, INTERVAL expression-value unit)
让我们尝试通过一个示例来实现相同的功能。
SELECT DATE_SUB('2017-12-12', INTERVAL 5 MONTH)
输出:
DATE_SUB('2017-12-12', INTERVAL 5 MONTH) 2017-07-12
8. EXTRACT()函数
" EXTRACT()函数"从日期值中提取特定表达式并返回该表达式。
语法:
EXTRACT(expression from date);
在下面的示例中,我们从传递给函数的日期表达式中提取了月份值。
SELECT EXTRACT(MONTH from '2017-5-12')
输出:
EXTRACT(MONTH from '2017-5-12') 5
9. NOW()函数
NOW()函数从系统返回当前时间戳。
语法:
NOW();
例:
SELECT NOW() as Present_Time;
输出:
Present_Time 2017-07-15T12:17:08Z
10. QUARTER()函数
" QUARTER()函数"从传递给它的日期表达式返回年份的四分之一值。
语法:
SELECT QUARTER(NOW()) as Quarter_Year;
此处的NOW()函数返回2017-07-15T12:17:08Z作为时间戳值,从该时间戳值开始,如下所述,基于月份的四分之一值
- 1-3:第一季度
- 4-6:第二季度
- 7-9:第三季度
- 10-12:第四季度
输出:
Quarter_Year 3
11. TIME()函数
Time()函数从datetime表达式中提取时间表达式,并返回时间值。
语法:
TIME(datetime)
例:
SELECT TIME(NOW());
输出:
TIME(NOW()) 07:34:38
12. TIMESTAMP()函数
TIMESTAMP()函数将日期表达式作为参数,并将时间表达式添加到其中。
因此,该函数返回日期时间表达式。
语法:
TIMESTAMP(date)
例:
SELECT TIMESTAMP('2017-11-11');
输出:
TIMESTAMP('2017-11-11') 2017-11-11T00:00:00Z
13. TIMEDIFF()函数
TIMEDIFF()函数返回两次表达式之间的差。
语法:
TIMEDIFF(time1, time2)
例:
SELECT TIMEDIFF('30:12:20','20:10:10');
输出:
TIMEDIFF('30:12:20','20:10:10') 10:02:10
14. TO_DAYS()函数
TO_DAYS()函数返回介于0和传递给该函数的日期表达式之间的天数。
语法:
TO_DAYS(date)
例:
SELECT TO_DAYS('2017-10-10')
输出:
TO_DAYS('2017-10-10') 738073
15.提取日期时间表达式的一部分
我们可以从日期时间表达式中提取年,月,时,秒等值,如下所示
SELECT YEAR('2017-10-10 12:30:30') as Year; SELECT MONTH('2017-10-10 12:30:30') as Month; SELECT MINUTE('2017-10-10 12:30:30') as Minute; SELECT WEEK('2017-10-10 12:30:30') as WEEK;
输出:
Year 2017 Month 10 Minute 30 WEEK 40