当前位置: 代码迷 >> 综合 >> MySQL -> DQL:日期函数:now,curdate,str_to_date,date_format,datediff
  详细解决方案

MySQL -> DQL:日期函数:now,curdate,str_to_date,date_format,datediff

热度:49   发布时间:2023-12-16 09:54:23.0

“显示日期时间”:now:现在

"显示日期时间":now:现在
select now();# 2020-10-30 16:18:49
select TIME(NOW());# 18:11:50
SELECT YEAR(NOW());# 2020
SELECT MONTH(NOW());# 10
SELECT DAY(NOW());# 30

“当前的日期”:current:当前,data:日期

"当前的日期":current:当前,data:日期
SELECT CURDATE();# 当前日期
SELECT CURTIME();# 当前时间
SELECT CURRENT_USER;# 当前用户

“将字符转为日期型”:str_to_date:字符_到_日期

"将字符转为日期型":str_to_date:字符_到_日期
# 例如:你输入2020-06-1输入的是字符,存在一个Date类里,要将字符类型转换为日期类型,虽然结果相同,但是类型已经不同了
# 一定要严格按规则转化,让计算机识别到年,月,日
# 格式:
# 年 %Y:2020 %y:20 月: %m:06 月: %c:6 日: %d:01
# 时 %H:24小时 %h:12小时 分: %i 秒: %s 
select str_to_date('2020-6-1','%Y-%m-%d');# 2020-06-01--Y不能写成y,月随意m,c;
select str_to_date('20-06-01','%y-%%c-%d');# 20-6-01--y不能写成Y,月,日随意;

“将日期转为字符”:date_format:日期_格式化,日期类型转换为字符类型

# 与字符转为日期不同,日期转为字符只需要将特地位置的年,月,日等提取到Y,m,d中
# 然后可以随意自己喜欢的格式输出,重点是提取日期中Y,m,d
"将日期转为字符":date_format:日期_格式化,日期类型转换为字符类型
select date_format('23-59-59','%H-%i-%s');
SELECT DATE_FORMAT('2020-6-1 23:59:59','%Y-%m-%d %H:%i:%s');# 2020-06-01 23:59:59
SELECT DATE_FORMAT('2020-6-1 23:59:59','%Y年%m月%d日 %H时%i分%s秒');# 2020年06月01日 23时59分59秒
SELECT DATE_FORMAT('2020-6-1 23:59:59','%H时%i分%s秒 %Y年%m月%d日 ');# 23时59分59秒 2020年06月01日 
# select date from rod where date = str_to_date('10月1日','%m月%d日');
# 没有年就查不到为null;

“两个日期差多少天”:datediff:日期差异,date日期-diff差异

"两个日期差多少天":datediff:日期差异,date日期-diff差异
select datediff('2020-10-1','2020-10-5');# 4:注意用引号

“加密”:password

"加密":password
select password('爸爸');# 1234564562313546461:密文
  相关解决方案