求问大家:mysql中有无相当于excel中的date函数?根据年、月、日三个值可以得到一个合法日期

在mysql中有无相当于excel中的date函数?根据年、月、日三个值可以得到一个合法日期

如date(2019,13,1)得到2020-01-01

alu 发布于 2020-1-14 17:51
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
5
snrtuemcLv8专家互助
发布于2020-6-12 20:29

mysql中没有这个功能的函数,但是你可以自定义这个函数,然后调用这个函数来使用,最简单方式

使用 STR_TO_DATE函数,str_to_date("字段1"+"字段2"+"字段3",'%Y-%m-%d')


select STR_TO_DATE('2013-03-09','%Y-%m-%d');select STR_TO_DATE('2012-10-11 16:42:30','%Y-%m-%d %H:%i:%s');

在Mysql中测试%Y和%y的效果也不一样,大家可以测试 



%W 星期名字(Sunday……Saturday)  
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)  
%Y 年, 数字, 4 位  
%y 年, 数字, 2 位  
%a 缩写的星期名字(Sun……Sat)  
%d 月份中的天数, 数字(00……31)  
%e 月份中的天数, 数字(0……31)  
%m 月, 数字(01……12)  
%c 月, 数字(1……12)  
%b 缩写的月份名字(Jan……Dec)  
%j 一年中的天数(001……366)  
%H 小时(00……23)  
%k 小时(0……23)  
%h 小时(01……12)  
%I 小时(01……12)  
%l 小时(1……12)  
%i 分钟, 数字(00……59)  
%r 时间,12 小时(hh:mm:ss [AP]M)  
%T 时间,24 小时(hh:mm:ss)  
%S 秒(00……59)  
%s 秒(00……59)  
%p AM或PM  
%w 一个星期中的天数(0=Sunday ……6=Saturday )  
%U 星期(0……52), 这里星期天是星期的第一天  
%u 星期(0……52), 这里星期一是星期的第一天  
%% 一个文字“%”。




最佳回答
0
flyingsnakeLv6资深互助
发布于2020-1-14 17:59(编辑于 2020-1-14 18:00)

https://www.w3school.com.cn/sql/func_date_format.asp


data_format



mysql中把字符串转换成日期类型:

select date_format('2013-03-09','%Y-%m-%d');

select date_format('2013-03-09','%y-%m-%d');

select STR_TO_DATE('2013-03-09','%Y-%m-%d');

select STR_TO_DATE('2012-10-11 16:42:30','%Y-%m-%d %H:%i:%s');


  • alu alu(提问者) 多谢解答!但还是不知如何使用上面的函数解决我的问题,我试过了都不成: 根据年、月、日三个值(2019,13,1)得到2020-01-01呢?
    2020-01-14 18:04 
  • 先知 先知 回复 alu(提问者) 在上面的基礎上寫個 if 就好了
    2020-01-15 08:09 
  • alu alu(提问者) 回复 先知 能否给个实例?谢谢
    2020-01-15 09:09 
  • 3关注人数
  • 610浏览人数
  • 最后回答于:2020-6-12 20:29
    请选择关闭问题的原因
    确定 取消
    返回顶部