背景:
今天在项目里看到的sqlserver的days()函数,计算从0年开始到给定时间的天数,现在要修改成mysql语法,有个很奇怪的现象奥,一样都是今天2021⑴1⑶0,sqlserver的days()函数和mysql的TO_DAYS()函数计算出来的天数其实不一样,这个我不太明白,知道的各路大牛可以留言给弟弟解下惑,谢谢
TO_DAYS()函数
给定一个日期date, 返回一个从年份0开始计算的天数
select TO_DAYS(now()) as days
![](https://img.wanzijz.com/wp-content/uploads/2023/02/1676886654-709a0eb3801d8d7.jpg)
select TO_DAYS(now()) as days
可以看到,从公元0年到2021年11月29日,一共是739488天,记好这个数字
![](https://img.wanzijz.com/wp-content/uploads/2023/02/1676886654-69f809aca89539e.png)
select TO_DAYS(’21⑴1⑵9′) as days
可以看到,天数都是一样的,年份只写后两位时是会自动转化为4位的
![](https://img.wanzijz.com/wp-content/uploads/2023/02/1676886654-919341e874080db.png)
MySQL“日期和时间类型”中的规则将日期中的二位数年份值转化为四位
对1582 年之前的日期(也许在其它地区为下一年 ), 该函数的结果实不可靠的
总结
到此这篇关于mysql日期函数TO_DAYS()函数的文章就介绍到这了,更多相关mysql日期函数TO_DAYS()内容请搜索之前的文章或继续浏览下面的相关文章希望大家以后多多支持!
文章来源:丸子建站
文章标题:mysql日期函数TO_DAYS()函数的详细讲授
https://www.wanzijz.com/view/45496.html