MariaDB DATE_FORMAT() 函数的基础用法与实例

MariaDB DATE_FORMAT() 函数是一个日期函数,用于将一个日期或时间值按照指定的格式进行转换,返回一个格式化后的字符串值。

发布于

MariaDB DATE_FORMAT() 函数是一个日期函数,用于将一个日期或时间值按照指定的格式进行转换,返回一个格式化后的字符串值。该函数可以用于处理日期、时间、日期时间等类型的数据,可以用于实现各种日期和时间的显示和输出。

语法

MariaDB 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 年份的数字,两位 两位数字
%% 百分号本身 %

实例

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