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 星期的缩写 SunSat
    %b 月份的缩写 JanDec
    %c 月份的数字 112
    %D 日期的序数 1st31st
    %d 日期的数字 0131
    %e 日期的数字,不补零 131
    %f 微秒 000000999999
    %H 小时的数字,24 小时制 0023
    %h 小时的数字,12 小时制 0112
    %I 小时的数字,12 小时制 0112
    %i 分钟的数字 0059
    %j 一年中的第几天 001366
    %k 小时的数字,24 小时制,不补零 023
    %l 小时的数字,12 小时制,不补零 112
    %M 月份的全称 JanuaryDecember
    %m 月份的数字 0112
    %p 上午或下午的标识 AMPM
    %r 时间的 12 小时制格式 hh:mm:ss AMhh:mm:ss PM
    %S 秒的数字 0059
    %s 秒的数字 0059
    %T 时间的 24 小时制格式 hh:mm:ss
    %U 一年中的第几周,以星期日为一周的开始 0053
    %u 一年中的第几周,以星期一为一周的开始 0053
    %V 一年中的第几周,以星期日为一周的开始,与 %X 一起使用 0153
    %v 一年中的第几周,以星期一为一周的开始,与 %x 一起使用 0153
    %W 星期的全称 SundaySaturday
    %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() 函数,它们可以用于实现日期和时间的转换和提取。