日期函数
字符串转日期函数 STR_TO_DATE()
语法格式
STR_TO_DATE(str,format)
str为 待转换的字符串,format为 表示日期格式的字符串。下面是一些常用的日期格式代号:
%Y:四位数的年份(如:2023)
%y:两位数的年份(如:22)
%m:两位数的月份(01~12)
%d:两位数的日期(01~31)
%H:两位数的小时(00~23)
%i:两位数的分钟(00~59)
%s:两位数的秒钟(00~59)
示例
将字符串转换为日期:
SELECT STR_TO_DATE('2023-01-01', '%Y-%m-%d') AS date;
将字符串转换为日期时间:
SELECT STR_TO_DATE('2023-01-01 10:10:10', '%Y-%m-%d %H:%i:%s') AS datetime;
日期转字符串函数 DATE_FORMAT()
语法格式
DATE_FORMAT(date, format)
date为 待转换的日期,format为 表示日期格式的字符串。下面是一些常用的日期格式代号:
format格式 | 描述 |
---|---|
%a | 工作日缩写名称(周日至周六) |
%b | 缩写的月份名称(1月至12月) |
%C | 数字月份名称(0到12) |
%D | 作为数值的月中的某一天,后跟后缀(第1,第2,第3,......) |
%d | 作为数值的月份日期(01到31) |
%e | 每月的某一天作为数值(0到31) |
%f | 微秒(000000至999999) |
%H | 小时(00到23) |
%h | 小时(00到12) |
%I | 小时(00到12) |
%i | 分钟(00至59) |
%j | 一年中的某一天(001至366) |
%k | 小时(0到23) |
%l | 小时(1到12) |
%M | 月份名称(1月至12月) |
%m | 月份名称作为数值(00到12) |
%p | 上午或下午 |
%r | 时间为12小时AM或PM格式(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 | 星期日是一周的第一天的一周。与%V一起使用 |
%x | 星期一是一周的第一天的一周。与%V一起使用 |
%Y | 年份为数字,4位数值 |
%y | 年份为数字,2位数值 |
示例
将日期转换为字符串:
SELECT DATE_FORMAT(now(), "%Y-%m-%d");
将日期时间转换为字符串:
SELECT DATE_FORMAT(now(), "%Y-%m-%d %H:%i:%s");