繁体   English   中英

如何使用date_add将年,月,日,时,分,秒添加到mysql日期?

[英]How can I add Year, Month, Day, Hour, Minute, Second to mysql date using date_add?

在mysql数据库中添加到datetime类型列的最佳方法是什么? 我尝试使用DATE_ADD,但仅在添加单个日期/时间时才起作用:

DATE_ADD(start_date, INTERVAL :dayCount DAY)

这不起作用:

DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)

我尝试按照某些建议添加微秒:

$startMicro = strtotime($startDiff->format("%Y-%m-%d %H:%i:%s")) * 1000; // 943920000000
start=DATE_ADD(start, INTERVAL :startMicro MICROSECOND)

我最终做到了这一点:在PHP中:$ minutesDiff =(strtotime($ start)-strtotime($ row-> start))/ 60; 在SQL STATEMENT中:start = DATE_ADD(start,INTERVAL:minutesDiff MINUTE)

谢谢大家的帮助。

将要添加的总时间转换为要添加的最小时间增量,因此,您需要花费25小时而不是1天1小时。 而不是1小时1分1秒,而是3601秒,等等。

您可以根据需要嵌套它们,但是语法不正确,在第二个INTERVAL之前缺少逗号,应为:

DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)

您可以出于以下目的使用此语法:

start_date + INTERVAL :dayCount DAY + 
             INTERVAL :hourCount HOUR + 
             INTERVAL :minCount MINUTE

间隔类型为年,季度,月,周,日,小时,分钟,秒和秒。

对于5.6.4之前的MySQL版本,微秒没有任何意义。

看到这里: http : //dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-add

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM