函数MySQL时间函数之旅:解读DATE.(mysql中date)
MySQL DATE函数可以用来提取日期的年、月、日的值,和后面简写的year、month、day一样,都是提取日期字符串中的年、月、日。它能够接受多种格式的日期输入,比如 ‘DD-MM-YYYY’ 或者 ‘YYYY-MM-DD’,并以年,月,日的形式返回日期。它可以作为函数运行,如下:
SELECT DATE(‘YYYY-mm-DD’, ‘2017-10-17’) ;
将会返回 ‘2017-10-17’ 作为结果。
另一方面,MySQL DATE函数还可以用来将时间值提取出来,比如TIMESTAMP。SELECT DATE(‘TIMESTAMP’, ‘2017-11-18 11:55:30′) 将会返回 ‘2017-11-18’。 这一点很有用,它可以显式的转换TIMESTAMP的年月日,即使TIMESTAMP的值不会变化。
DATE函数可以用来运算,比如,我们可以用来计算两个日期之间的时间差:SELECT DATE(‘TIMESTAMP’, ‘2017-11-18 11:55:30’) -DATE( ‘TIMESTAMP’,’2017-11-10 10:10:20’) 将会返回一个八天的时间差。
当我们想要进行更加精确的时间计算时,使用MySQL的ADDDATE()函数是一个不错的选择,它可以用来精确的加减日期,这种操作有时候很有用。比如,我们想在某个时间点加上一天:
SELECT ADDDATE( ‘2017-11-10 10:10:20’,INTERVAL 1 DAY);
将会返回 ‘2017-11-11 10:10:20’,作为结束的日期字符串输出。
MySQL的更强大的时间函数是DATEDIFF函数,它可以用来计算两个日期之间的实际时间差,不受时间值的表示不同所影响。SELECT DATEDIFF(‘2017-11-18 11:55:30’, ‘2017-11-10 10:10:20’) 将会返回 8 作为结果。
总而言之,MySQL的DATE函数提供了一个实用的方法去提取年月日的值,它的应用有很多,可以准确并精确的进行时间计算。巧妙地搭配其他函数,比如ADDDATE()和DATEDIFF(),就可以实现想要实现的时间操作了。