irpas技术客

MySQL日期函数_假女吖?_mysql 日期函数

未知 3468

MySQL日期函数 1、DATE()2、TIME()3、TIMESTAMP()4、NOW()、CURRENT_TIMESTAMP、CURRENT_TIMESTAMP()、SYSDATE()5、STR_TO_DATE()6、DATE_FORMAT()7、UNIX_TIMESTAMP()8、FROM_UNIXTIME9、其他日期函数10、日期格式

1、DATE()

返回 日期。格式:YYYY-MM-DD

SELECT DATE(NOW()); > 2022-04-04 2、TIME()

返回 日期。格式:HH-mm-ss

SELECT TIME(NOW()); > 16:25:09 3、TIMESTAMP()

返回 日期时间。格式:YYYY-MM-DD HH-mm-ss

SELECT TIMESTAMP(NOW()); > 2022-04-04 16:31:12 4、NOW()、CURRENT_TIMESTAMP、CURRENT_TIMESTAMP()、SYSDATE() select NOW(),CURRENT_TIMESTAMP,CURRENT_TIMESTAMP(); > 2022-04-04 16:40:03 2022-04-04 16:40:03 2022-04-04 16:40:03

这里需要注意前三者都是**返回语句执行开始执行的时间,后者SYSDATE()不同返回的是这个函数执行时候的时间**

select SLEEP(1),NOW(),CURRENT_TIMESTAMP,CURRENT_TIMESTAMP(),SYSDATE(); > 0 2022-04-04 16:42:22 2022-04-04 16:42:22 2022-04-04 16:42:22 2022-04-04 16:42:23

这里可以看到我们利用sleep(1),让sql延时了一秒得到前三者与seelp(1)的区别SYSDATE()明显比NOW()这些多一秒,所以我们可以知道 预期结果是延时前后now()函数对应的时间不变,sysdate()的时间等于之前的时间加上延时时间

5、STR_TO_DATE()

根据指定的格式,将字符串转交成对应的日期或日期类型

例1、 SELECT STR_TO_DATE('2022-04-04 22:50:17','%Y-%m-%d'); > 2022-04-04 没有时分秒时这里就忽略显示了 例2、 SELECT STR_TO_DATE('2022-04-04 22:50:17','%Y-%m-%d %H'); > 2022-04-04 22:00:00 6、DATE_FORMAT()

将日期根据指定的格式返回为对应的字符串 更多日期格式

例1、 SELECT DATE_FORMAT('2022-04-04 22:50:17','%Y-%m-%d'); > 2022-04-04 例2、 SELECT DATE_FORMAT('2022-04-04 22:50:17','%Y-%m-%d %H'); > 2022-04-04 22 7、UNIX_TIMESTAMP()

获取日期的时间戳(10位)

SELECT unix_timestamp(now()); > 1649083817 8、FROM_UNIXTIME

根据时间戳(10位)返回日期

例1、 SELECT FROM_UNIXTIME(1649087115) > 2022-04-04 23:45:15 例2、加上第二个参数 格式化 SELECT FROM_UNIXTIME(1649087115,'%Y-%m-%s') > 2022-04-15 9、其他日期函数 函数名描述样例结果NOW()获取当前日期 格式’yyyy-MM-dd HH:mm:ss’select NOW();2022-04-04 22:50:17CURDATE()获取当前日期 格式’yyyy-MM-dd’select CURDATE();2022-04-04CURTIME()获取当前日期 格式’HH:mm:ss’select CURTIME();22:50:17CURRENT_TIMESTAMP()获取当前日期 格式’yyyy-MM-dd HH:mm:ss’select CURRENT_TIMESTAMP();2022-04-04 22:50:17CURRENT_DATE()获取当前日期 格式’yyyy-MM-dd’select CURRENT_DATE();2022-04-04CURRENT_TIME()获取当前日期 格式’HH:mm:ss’select CURRENT_TIME();22:50:17CURRENT_TIMESTAMP获取当前日期 格式’yyyy-MM-dd HH:mm:ss’select CURRENT_TIMESTAMP;2022-04-04 22:50:17CURRENT_DATE获取当前日期 格式’yyyy-MM-dd’select CURRENT_DATE;2022-04-04CURRENT_TIME获取当前日期 格式’HH:mm:ss’select CURRENT_TIME;22:50:17SYSDATE()获取这个函数的执行时间 格式’yyyy-MM-dd HH:mm:ss’select SYSDATE;2022-04-04 22:50:17YEAR()获取年份select YEAR(NOW()) ;2022MONTH()获取月份select MONTH(NOW())4DAYOFMONTH()获取在月份中所在的天数select DAYOFMONTH(NOW())4DAYOFYEAR()获取在年中所在的天数select DAYOFYEAR(NOW())94WEEKDAY()获取日期是星期几 (0-代表星期一、1-代表星期二)select WEEKDAY(NOW());0DAYOFWEEK()获取日期是星期几 (1-代表星期天、2-代表星期一)select DAYOFWEEK(NOW());2WEEKOFYEAR()获取日期是年中的第几周select WEEKOFYEAR(NOW());14TO_DAYS()获取从0000-00-00到日期的天数SELECT TO_DAYS(NOW());738614HOUR()获取小时SELECT HOUR(NOW());22MINUTE()获取分钟SELECT MINUTE(NOW());50SECOND()获取秒SELECT SECOND(NOW());17
10、日期格式

格式描述%Y年,4 位%y年,2 位%M月 英文表示 January%b月 英文缩写表示 Apr%m月,数值(00-12)%c月,数值(0-12)%d月的天,数值(00-31)%e月的天,数值(0-31)%j年的天 (001-366)%H小时 (00-23)%I小时 (01-12) 0时代表12 1时代表1%k小时 (0-23)%i分钟,数值(00-59)%S秒(00-59)%s秒(00-59)%f微秒%T时间, 24-小时 (hh:mm:ss)%r时间,12-小时(hh:mm:ss AM 或 PM)%pAM 或 PM%a星期名缩写 例如Mon%W星期名 例如Monday%w周的天 (0=星期日, 6=星期六)%U周 (00-53) 星期日是一周的第一天%u周 (00-53) 星期一是一周的第一天%V周 (01-53) 星期日是一周的第一天,与 %X 使用%v周 (01-53) 星期一是一周的第一天,与 %x 使用%X年,其中的星期日是周的第一天,4 位,与 %V 使用%x年,其中的星期一是周的第一天,4 位,与 %v 使用


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #MySQL #日期函数 #mysql基本日期函数的应用