[英]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.