通过日期和时间将数据插入一个表到另一个表

时间:2017-09-24 09:30:45

标签: mysql sql

我有以下查询,

INSERT INTO Table[B] SELECT * FROM Table[A] WHERE (date between '2006-03-01 00:00:00' and '2006-05-31 23:59:59' and hour(date) between 5pm and 9am );

但它不起作用。

实际上我想在时间05pm到09am之间插入A到B的值

请解决任何问题。

1 个答案:

答案 0 :(得分:1)

我希望这样的事情:

INSERT INTO TableB (col1, col2, . . .)
    SELECT col1, col2, . . .
    FROM TableA
    WHERE date >= '2006-03-01' AND date < '2006-06-01' AND
          (hour(date) < 9 OR hour(date) > 17);

注意:

  • 执行insert时明确列出列。
  • 明确列出值来自的列。
  • 使用>=<简化日期比较。