MySQL:插入当前日期加特定时间

6
我该如何插入包含当前日期和特定时间(17:30:00)的字段?我的目标是将CURDATE()和特定时间一起插入。
我尝试了以下代码:INSERT INTO table VALUES('', CURDATE(+ ' 17:30:00')),但它无法工作。请帮我查看一下。

你想要在当前日期上加上一些小时,对吗? - JHS
特定时间并非当前日期。 - triclosan
1
尝试 INSERT INTO table VALUES('', CONCAT(CURDATE(),' 17:30:00')) - rabudde
4个回答

14

试试这个 -

  CONCAT(CURDATE(), ' 17:30:00')

7
@Manishearth 请阅读问题。有什么需要解释的呢? - JHS
如果问题是这样的,那就是一个糟糕的问题。不要回答,给它点个踩。仅有代码的答案也是不好的。 - Manishearth
2
我不在这里决定什么是好问题或坏问题。你自己来决定吧。 - JHS
3
完整正确的答案无需增加冗长说辞。如果问题需要,仅提供代码也可以。 - harriyott
4
@JHS,我会给你点赞(+1),因为你的回答已经足够好了。有些人只是想批评比他们聪明的人。 - Payam

2
INSERT INTO table VALUES('', DATE_ADD(CURDATE(), INTERVAL '17:30:00' HOUR_SECOND))

1
INTERVAR 应该是 INTERVAL 吗? - Fahim Parkar
我遇到了#1064错误。@rabudde的upthere已经回答了正确的解决方法。 - dewara

0

尝试使用间隔:

select interval 17 hour + curdate();

或者:

select interval '17:30' hour_minute + curdate();

0
您可以按照以下方式格式化您的INSERT语句,将日期与所需的时间值连接起来:
INSERT INTO yourtable (yourdatefield)
VALUES (
    CONCAT(CURDATE(), 
    " 01:23:45")
);

当然,这个语句需要根据您的表格、字段名称和配置进行调整。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接