SQL日期时间

时间:2020-02-23 14:32:25  来源:igfitidea点击:

在本文中,我们将重点介绍一些重要的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