【问题标题】:Sql query, insert current day but not current timesql查询,插入当前日期但不插入当前时间
【发布时间】:2016-10-29 21:25:07
【问题描述】:

我正在尝试在那里进行 sql 查询,我想插入当天但每天同一时间,但此代码不起作用。数据库中的字段是日期时间。此代码的输出为 0000-00-00 00:00:00。

$sql = "INSERT INTO (table)
        VALUES(CONCAT(CURDATE(),'14:00:00'))";

如果我改成:

$sql = "INSERT INTO (table)
    VALUES(CONCAT(CURDATE()))";

那么结果是 2016-10-30 00:00:00 所以肯定是时间有问题。

【问题讨论】:

  • 您使用的是 SQL Server、Oracle、MySQL 吗?
  • 请为您的问题添加标签

标签: mysql sql


【解决方案1】:

如果你使用 MySQL,你可以使用:

CONCAT(CURDATE(), ' 10:07:50')

或查看此链接: How to assign current date with specific time to column?

【讨论】:

  • 是的,我正在使用 MySQL,上面的代码对我不起作用。我在数据库中的字段是时间戳。也许有什么?
【解决方案2】:

你大概可以使用NOW()函数。

create table test1(d timestamp);

insert into test1 values(now());

SQLFiddle

===更新===

insert into test1 values('2012-04-30 12:12:23');

假设您使用的是php,那么您可以创建一个变量并分配日期值,如下所示:

$dt = date('Y-m-d').' 12:22:30';

【讨论】:

  • 但这创造了现在的时间。我想投入自己的时间。
  • 查看我更新的帖子。同样,您可以尝试使用 SQLFiddle。
  • 是的,我可以使用该代码,但我希望将它放在当天,而不必每天都更改它。但每天同一时间。
  • 如果你看到,它是一个字符串,所以你可以使用你的编程语言来操作它,然后在这里传递它。你说对了 。对吗?
  • 查看最新帖子。如果您得到答案,请接受答案。
【解决方案3】:

对于 Oracle,它可能是:

INSERT INTO table (field)
VALUES (sysdate);

【讨论】:

  • 这将插入当前的datetime
猜你喜欢
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2016-11-09
  • 1970-01-01
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多