mysql时间格式化

本文详细介绍了 MySQL 中的 DATE_FORMAT 函数,该函数用于按指定格式格式化日期或日期时间值。文章列举了多种格式化选项,如 %Y 用于四位数的年份,%m 用于两位数的月份等,帮助开发者更灵活地处理日期数据。

  
DATE_FORMAT(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串。

  可用DATE_FORMAT( ) 来格式化DATE 或datetime值,以便得到所希望的格式。根据format字符串格式化date值:

  %S, %s 两位数字形式的秒( 00,01, . . ., 59)

  %i 两位数字形式的分( 00,01, . . ., 59)

  %H 两位数字形式的小时,24 小时(00,01, . . ., 23)

  %h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12)

  %k 数字形式的小时,24 小时(0,1, . . ., 23)

  %l 数字形式的小时,12 小时(1, 2, . . ., 12)

  %T 24 小时的时间形式(h h : m m : s s)

  %r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)

  %p AM 或P M

  %W 一周中每一天的名称( S u n d a y, Monday, . . ., Saturday)

  %a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat)

  %d 两位数字表示月中的天数( 00, 01, . . ., 31)

  %e 数字形式表示月中的天数( 1, 2, . . ., 31)

 %D 英文后缀表示月中的天数( 1st, 2nd, 3rd, . . .)

  %w 以数字形式表示周中的天数( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday)

  %j 以三位数字表示年中的天数( 001, 002, . . ., 366)

  % U 周(0, 1, 52),其中Sunday 为周中的第一天

  %u 周(0, 1, 52),其中Monday 为周中的第一天

  %M 月名(J a n u a r y, February, . . ., December)

  %b 缩写的月名( J a n u a r y, February, . . ., December)

  %m 两位数字表示的月份( 01, 02, . . ., 12)

  %c 数字表示的月份( 1, 2, . . ., 12)

  %Y 四位数字表示的年份

  %y 两位数字表示的年份

  %% 直接值“%”

  select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test



MySQL 提供了灵活的日期和时间格式化函数 `DATE_FORMAT()`,可以将日期按照指定格式输出。该函数的基本语法如下: ```sql SELECT DATE_FORMAT(date_column, 'format') AS formatted_date FROM table_name; ``` 其中,`date_column` 是表中的日期或时间字段,`format` 是用户定义的格式字符串。 例如,将 `createTime` 字段格式化为 `YYYY-MM-DD`: ```sql SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS formattedDate FROM your_table; ``` 如果需要格式化为 `YYYY/MM/DD`,可以使用以下语句: ```sql SELECT DATE_FORMAT(createTime, '%Y/%m/%d') AS formattedDate FROM your_table; ``` 此外,还可以根据需求组合不同的格式符。例如,若需要显示完整的日期和时间,格式为 `YYYY-MM-DD HH:MM:SS`: ```sql SELECT DATE_FORMAT(createTime, '%Y-%m-%d %H:%i:%s') AS formattedDateTime FROM your_table; ``` 对于更复杂的格式需求,如包含星期信息的格式,可以使用 `%W`(完整的星期名)或 `%a`(缩写星期名)[^2]。例如: ```sql SELECT DATE_FORMAT(createTime, '%Y-%m-%d %W') AS formattedDateWithWeekday FROM your_table; ``` 这将输出类似 `2023-10-01 Sunday` 的结果。 如果只需要提取日期中的某一部分,如年、月、日,可以使用 `YEAR()`、`MONTH()` 和 `DAY()` 函数。例如,提取 `createTime` 的年份: ```sql SELECT YEAR(createTime) AS yearOnly FROM your_table; ``` 提取月份: ```sql SELECT MONTH(createTime) AS monthOnly FROM your_table; ``` 提取日期: ```sql SELECT DAY(createTime) AS dayOnly FROM your_table; ``` 也可以结合 `TIME()` 函数提取时间部分: ```sql SELECT TIME(createTime) AS timeOnly FROM your_table; ``` 这些方法提供了多种方式来处理和格式化 MySQL 中的日期和时间数据[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值