0

我希望有人可以帮助我解决这个问题。我有一个带有派生列的 MS SQL 表,对于导入记录的日期,需要根据此列的内容删除记录。我需要做的是从表中删除日期为“2011-11-18”的所有记录。现在此列是日期时间列,因此它包含日期之后的时间信息,即 2011-11-18 09:29:38.000,但无论我为此尝试什么命令:

  • 从表中删除 Date_Imported like '2011-11-18%'
  • 从表中删除 Date_Imported like '2011-11-18'
  • 从 Date_Imported = 2011-11-18 的表中删除

它回来说“0行受影响”,即使我知道表中有那个日期的记录。有什么想法吗?我会很感激你的帮助。

4

2 回答 2

1

如果你把它投到一个日期,你的检查应该有效。

DELETE FROM TABLE WHERE CAST(Date_Imported As Date) = '2011-11-18'
于 2011-11-18T18:43:23.530 回答
0

不确定这是否是最简单的方法,但它应该可以工作:

Delete from table where
  year(Date_Imported) = 2011
  and month(Date_Imported) = 11
  and day(Date_Imported) = 18

请参阅日期和时间函数

于 2011-11-18T17:44:19.440 回答