date 转 String
MySQL DATE_FORMAT() 函数
作用
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据
语法
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
可以使用的格式有:
| 格式 | 描述 |
|---|---|
| %a | 缩写星期名 |
| %b | 缩写月名 |
| %c | 月,数值 |
| %D | 带有英文前缀的月中的天 |
| %d | 月的天,数值(00-31) |
| %e | 月的天,数值(0-31) |
| %f | 微秒 |
| %H | 小时 (00-23) |
| %h | 小时 (01-12) |
| %I | 小时 (01-12) |
| %i | 分钟,数值(00-59) |
| %j | 年的天 (001-366) |
| %k | 小时 (0-23) |
| %l | 小时 (1-12) |
| %M | 月名 |
| %m | 月,数值(00-12) |
| %p | AM 或 PM |
| %r | 时间,12-小时(hh:mm:ss AM 或 PM) |
| %S | 秒(00-59) |
| %s | 秒(00-59) |
| %T | 时间, 24-小时 (hh:mm:ss) |
| %U | 周 (00-53) 星期日是一周的第一天 |
| %u | 周 (00-53) 星期一是一周的第一天 |
| %V | 周 (01-53) 星期日是一周的第一天,与 %X 使用 |
| %v | 周 (01-53) 星期一是一周的第一天,与 %x 使用 |
| %W | 星期名 |
| %w | 周的天 (0=星期日, 6=星期六) |
| %X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
| %x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
| %Y | 年,4 位 |
| %y | 年,2 位 |
实例
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
SELECT DATE_FORMAT(NOW(),'%m-%d-%Y')
SELECT DATE_FORMAT(NOW(),'%d %b %y')
SELECT DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
结果
Apr 10 2023 04:27 PM
04-10-2023
10 Apr 23
10 Apr 2023 16:28:48:000000
用途
现在假设 “Orders” 类似这样(请注意 “OrderDate” 列中的时间部分):
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | computer | 2008/12/26 16:23 |
| 2 | printer | 2008/12/26 10:45 |
| 3 | electrograph | 2008/11/12 14:12 |
| 4 | telephone | 2008/10/19 12:56 |
如果我们使用上面的 SELECT 语句:
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
那么我们得不到结果。这是由于该查询不含有时间部分的日期。
但是可以使用
SELECT * FROM Orders WHERE DATE_FORMAT(OrderDate,'%Y-%m-%d')='2008-12-26'
就可以查出结果
字符串转时间
用法
SELECT str_to_date( '2016-01-02', '%Y-%m-%d %H' );
结果
2016-01-02 00:00:00
MySQL的DATE_FORMAT函数用于按指定格式显示日期/时间数据,例如%Y-%m-%d。此函数在处理如Orders表中包含时间信息的日期时非常有用。另一方面,STR_TO_DATE函数将字符串转换为日期时间,如2016-01-02转换为2016-01-0200:00:00。
1898

被折叠的 条评论
为什么被折叠?



