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() 函数,它们可以用于实现日期和时间的转换和提取。