MariaDB DATE() 函数的基础用法与实例
MariaDB DATE()
函数是一个日期函数,用于从一个日期或时间值中提取日期部分,返回一个日期值。
MariaDB DATE()
函数是一个日期函数,用于从一个日期或时间值中提取日期部分,返回一个日期值。该函数可以用于处理日期、时间、日期时间等类型的数据,可以用于实现日期的提取和转换。
语法
MariaDB DATE()
函数的语法如下:
DATE(date)
其中,date
是一个日期或时间值,可以是一个常量、变量或表达式。
实例
下面给出一些使用 MariaDB DATE()
函数的实例,以及相应的代码和输出结果。
从一个日期值中提取日期部分
假设我们有一个日期值 2024-02-16
,我们想要从这个日期值中提取日期部分,即 2024-02-16
。我们可以使用以下 SQL 语句:
SELECT DATE('2024-02-16') AS date_part;
输出结果如下:
+------------+
| date_part |
+------------+
| 2024-02-16 |
+------------+
这个实例说明了如何使用 DATE()
函数从一个日期值中提取日期部分,返回一个日期值。
从一个时间值中提取日期部分
假设我们有一个时间值 08:57:33
,我们想要从这个时间值中提取日期部分,即 NULL
。我们可以使用以下 SQL 语句:
SELECT DATE('08:57:33') AS date_part;
输出结果如下:
+-----------+
| date_part |
+-----------+
| NULL |
+-----------+
这个实例说明了如何使用 DATE()
函数从一个时间值中提取日期部分,返回一个空值。这是因为一个时间值没有日期部分,所以无法提取。
从一个日期时间值中提取日期部分
假设我们有一个日期时间值 2024-02-16 08:57:33
,我们想要从这个日期时间值中提取日期部分,即 2024-02-16
。我们可以使用以下 SQL 语句:
SELECT DATE('2024-02-16 08:57:33') AS date_part;
输出结果如下:
+------------+
| date_part |
+------------+
| 2024-02-16 |
+------------+
这个实例说明了如何使用 DATE()
函数从一个日期时间值中提取日期部分,返回一个日期值。
从一个表达式中提取日期部分
假设我们有一个表达式 NOW()
,它返回当前的日期时间值,例如 2024-02-16 09:03:12
。我们想要从这个表达式中提取日期部分,即 2024-02-16
。我们可以使用以下 SQL 语句:
SELECT DATE(NOW()) AS date_part;
输出结果如下(根据系统时间而变化):
+------------+
| date_part |
+------------+
| 2024-02-16 |
+------------+
这个实例说明了如何使用 DATE()
函数从一个表达式中提取日期部分,返回一个日期值。
从一个变量中提取日期部分
假设我们有一个变量 @date_time
,它存储了一个日期时间值 2024-02-16 08:57:33
。我们想要从这个变量中提取日期部分,即 2024-02-16
。我们可以使用以下 SQL 语句:
SET @date_time = '2024-02-16 08:57:33';
SELECT DATE(@date_time) AS date_part;
输出结果如下:
+------------+
| date_part |
+------------+
| 2024-02-16 |
+------------+
这个实例说明了如何使用 DATE()
函数从一个变量中提取日期部分,返回一个日期值。
相关函数
除了 DATE()
函数,MariaDB 还提供了以下与日期和时间相关的函数:
-
TIME()
函数:用于从一个日期或时间值中提取时间部分,返回一个时间值。其语法如下:TIME(date)
其中,
date
是一个日期或时间值,可以是一个常量、变量或表达式。 -
DATE_ADD()
函数:用于在一个日期或时间值的基础上增加一个指定的时间间隔,返回一个新的日期或时间值。其语法如下:DATE_ADD(date, INTERVAL expr unit)
其中,
date
是一个日期或时间值,可以是一个常量、变量或表达式。INTERVAL expr unit
是一个时间间隔,由一个表达式expr
和一个单位unit
组成。expr
可以是一个正数或负数,表示增加或减少的时间量。unit
可以是以下值之一:MICROSECOND
:微秒,范围是 0 到 999999。SECOND
:秒,范围是 0 到 59。MINUTE
:分钟,范围是 0 到 59。HOUR
:小时,范围是 0 到 23。DAY
:天,范围是 0 到 31。WEEK
:周,范围是 0 到 53。MONTH
:月,范围是 0 到 12。QUARTER
:季度,范围是 0 到 4。YEAR
:年,范围是 0 到 9999。SECOND_MICROSECOND
:秒和微秒,格式是ss.ssssss
。MINUTE_MICROSECOND
:分钟和微秒,格式是mm:ss.ssssss
。MINUTE_SECOND
:分钟和秒,格式是mm:ss
。HOUR_MICROSECOND
:小时和微秒,格式是hh:mm:ss.ssssss
。HOUR_SECOND
:小时和秒,格式是hh:mm:ss
。HOUR_MINUTE
:小时和分钟,格式是hh:mm
。DAY_MICROSECOND
:天和微秒,格式是dd hh:mm:ss.ssssss
。DAY_SECOND
:天和秒,格式是dd hh:mm:ss
。DAY_MINUTE
:天和分钟,格式是dd hh:mm
。DAY_HOUR
:天和小时,格式是dd hh
。YEAR_MONTH
:年和月,格式是yyyy-mm
。
-
DATE_SUB()
函数:用于在一个日期或时间值的基础上减少一个指定的时间间隔,返回一个新的日期或时间值。其语法和用法与DATE_ADD()
函数类似,只是方向相反。 -
DATE_FORMAT()
函数:用于将一个日期或时间值按照指定的格式进行转换,返回一个格式化后的字符串值。其语法如下:DATE_FORMAT(date, format)
其中,
date
是一个日期或时间值,可以是一个常量、变量或表达式。format
是一个字符串值,用于指定转换的格式。format
中可以包含以下符号,用于表示不同的日期和时间部分:符号 含义 范围 %a
星期的缩写 Sun
到Sat
%b
月份的缩写 Jan
到Dec
%c
月份的数字 1
到12
%D
日期的序数 1st
到31st
%d
日期的数字 01
到31
%e
日期的数字,不补零 1
到31
%f
微秒 000000
到999999
%H
小时的数字,24 小时制 00
到23
%h
小时的数字,12 小时制 01
到12
%I
小时的数字,12 小时制 01
到12
%i
分钟的数字 00
到59
%j
一年中的第几天 001
到366
%k
小时的数字,24 小时制,不补零 0
到23
%l
小时的数字,12 小时制,不补零 1
到12
%M
月份的全称 January
到December
%m
月份的数字 01
到12
%p
上午或下午的标识 AM
或PM
%r
时间的 12 小时制格式 hh:mm:ss AM
或hh:mm:ss PM
%S
秒的数字 00
到59
%s
秒的数字 00
到59
%T
时间的 24 小时制格式 hh:mm:ss
%U
一年中的第几周,以星期日为一周的开始 00
到53
%u
一年中的第几周,以星期一为一周的开始 00
到53
%V
一年中的第几周,以星期日为一周的开始,与 %X
一起使用01
到53
%v
一年中的第几周,以星期一为一周的开始,与 %x
一起使用01
到53
%W
星期的全称 Sunday
到Saturday
%w
星期的数字 0
(星期日) 到6
(星期六)%X
年份的数字,以星期日为一周的开始,与 %V
一起使用四位数字 %x
年份的数字,以星期一为一周的开始,与 %v
一起使用四位数字 %Y
年份的数字,四位 四位数字 %y
年份的数字,两位 两位数字 %%
百分号本身 %
-
STR_TO_DATE()
函数:用于将一个字符串值按照指定的格式转换为一个日期或时间值,返回一个日期或时间值。其语法和用法与DATE_FORMAT()
函数相反,即:STR_TO_DATE(str, format)
其中,
str
是一个字符串值,表示要转换的日期或时间。format
是一个字符串值,用于指定转换的格式。format
中可以使用与DATE_FORMAT()
函数相同的符号,用于表示不同的日期和时间部分。
结论
本文介绍了 MariaDB DATE()
函数的基础用法与实例,该函数用于从一个日期或时间值中提取日期部分,返回一个日期值。该函数可以处理不同类型的日期和时间数据,可以用于实现日期的提取和转换。本文还介绍了一些与 DATE()
函数相关的函数,如 TIME()
函数、DATE_ADD()
函数、DATE_SUB()
函数、DATE_FORMAT()
函数和 STR_TO_DATE()
函数,它们可以用于实现日期和时间的转换和提取。