MariaDB DATE_FORMAT() 函数的基础用法与实例
MariaDB DATE_FORMAT()
函数是一个日期函数,用于将一个日期或时间值按照指定的格式进行转换,返回一个格式化后的字符串值。
MariaDB DATE_FORMAT()
函数是一个日期函数,用于将一个日期或时间值按照指定的格式进行转换,返回一个格式化后的字符串值。该函数可以用于处理日期、时间、日期时间等类型的数据,可以用于实现各种日期和时间的显示和输出。
语法
MariaDB 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 |
年份的数字,两位 | 两位数字 |
%% |
百分号本身 | % |
实例
下面给出一些使用 MariaDB DATE_FORMAT()
函数的实例,以及相应的代码和输出结果。
将一个日期值转换为 yyyy-mm-dd 的格式
假设我们有一个日期值 2024-02-16
,我们想要将它转换为 yyyy-mm-dd
的格式,即 2024-02-16
。我们可以使用以下 SQL 语句:
SELECT DATE_FORMAT('2024-02-16', '%Y-%m-%d') AS formatted_date;
输出结果如下:
+----------------+
| formatted_date |
+----------------+
| 2024-02-16 |
+----------------+
这个实例说明了如何使用 DATE_FORMAT()
函数将一个日期值按照指定的格式进行转换,返回一个字符串值。
将一个日期时间值转换为 yyyy-mm-dd hh:mm:ss 的格式
假设我们有一个日期时间值 2024-02-16 08:57:33
,我们想要将它转换为 yyyy-mm-dd hh:mm:ss
的格式,即 2024-02-16 08:57:33
。我们可以使用以下 SQL 语句:
SELECT DATE_FORMAT('2024-02-16 08:57:33', '%Y-%m-%d %H:%i:%s') AS formatted_datetime;
输出结果如下:
+---------------------+
| formatted_datetime |
+---------------------+
| 2024-02-16 08:57:33 |
+---------------------+
这个实例说明了如何使用 DATE_FORMAT()
函数将一个日期时间值按照指定的格式进行转换,返回一个字符串值。
将一个日期值转换为中文的格式
假设我们有一个日期值 2024-02-16
,我们想要将它转换为中文的格式,即 2024年2月16日
。我们可以使用以下 SQL 语句:
SELECT DATE_FORMAT('2024-02-16', '%Y年%c月%e日') AS formatted_date;
输出结果如下:
+------------------+
| formatted_date |
+------------------+
| 2024年2月16日 |
+------------------+
这个实例说明了如何使用 DATE_FORMAT()
函数将一个日期值按照中文的格式进行转换,返回一个字符串值。
将一个日期时间值转换为带有星期和序数的格式
假设我们有一个日期时间值 2024-02-16 08:57:33
,我们想要将它转换为带有星期和序数的格式,即 Saturday, 16th February 2024 08:57:33 AM
。我们可以使用以下 SQL 语句:
SELECT DATE_FORMAT('2024-02-16 08:57:33', '%W, %D %M %Y %r') AS formatted_datetime;
输出结果如下:
+----------------------------------------+
| formatted_datetime |
+----------------------------------------+
| Friday, 16th February 2024 08:57:33 AM |
+----------------------------------------+
这个实例说明了如何使用 DATE_FORMAT()
函数将一个日期时间值按照带有星期和序数的格式进行转换,返回一个字符串值。
相关函数
除了 DATE_FORMAT()
函数,MariaDB 还提供了以下与日期和时间相关的函数:
-
STR_TO_DATE()
函数:用于将一个字符串值按照指定的格式转换为一个日期或时间值,返回一个日期或时间值。其语法和用法与DATE_FORMAT()
函数相反,即:STR_TO_DATE(str, format)
其中,
str
是一个字符串值,表示要转换的日期或时间。format
是一个字符串值,用于指定转换的格式。format
中可以使用与DATE_FORMAT()
函数相同的符号,用于表示不同的日期和时间部分。例如,我们可以使用以下 SQL 语句将一个字符串值
2024-02-16
转换为一个日期值:SELECT STR_TO_DATE('2024-02-16', '%Y-%m-%d') AS date_value;
输出结果如下:
+------------+ | date_value | +------------+ | 2024-02-16 | +------------+
-
DATE()
函数:用于从一个日期或时间值中提取日期部分,返回一个日期值。其语法如下:DATE(date)
其中,
date
是一个日期或时间值,可以是一个常量、变量或表达式。例如,我们可以使用以下 SQL 语句从一个日期时间值
2024-02-16 08:57:33
中提取日期部分:SELECT DATE('2024-02-16 08:57:33') AS date_part;
输出结果如下:
+------------+ | date_part | +------------+ | 2024-02-16 | +------------+
-
TIME()
函数:用于从一个日期或时间值中提取时间部分,返回一个时间值。其语法如下:TIME(date)
其中,
date
是一个日期或时间值,可以是一个常量、变量或表达式。例如,我们可以使用以下 SQL 语句从一个日期时间值
2024-02-16 08:57:33
中提取时间部分:SELECT TIME('2024-02-16 08:57:33') AS time_part;
输出结果如下:
+-----------+ | time_part | +-----------+ | 08:57:33 | +-----------+
-
NOW()
函数:用于返回当前的日期时间值,返回一个日期时间值。其语法如下:NOW()
该函数没有参数。
例如,我们可以使用以下 SQL 语句获取当前的日期时间值:
SELECT NOW() AS current_datetime;
输出结果如下(根据系统时间而变化):
+---------------------+ | current_datetime | +---------------------+ | 2024-02-16 09:03:12 | +---------------------+
结论
本文介绍了 MariaDB DATE_FORMAT()
函数的基础用法与实例,该函数用于将一个日期或时间值按照指定的格式进行转换,返回一个格式化后的字符串值。该函数可以处理不同类型和格式的日期和时间数据,可以用于实现各种日期和时间的显示和输出。本文还介绍了一些与 DATE_FORMAT()
函数相关的函数,如 STR_TO_DATE()
函数、DATE()
函数、TIME()
函数和 NOW()
函数,它们可以用于实现日期和时间的转换和提取。