基于派生列内容删除SQL记录

时间:2011-11-18 17:25:01

标签: derived

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

  • 从Date_Imported中删除类似'2011-11-18%'
  • 的表格
  • 从Date_Imported中删除类似'2011-11-18'
  • 的表格
  • 从Date_Imported = 2011-11-18
  • 的表中删除

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

2 个答案:

答案 0 :(得分:1)

如果您将其投放到某个日期,那么您的支票应该有效。

DELETE FROM TABLE WHERE CAST(Date_Imported As Date) = '2011-11-18'

答案 1 :(得分:0)

不确定这是否是最简单的方法,但它应该有效:

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

请参阅Date and Time Functions