从特定月份的表中删除数据

时间:2015-05-13 08:44:08

标签: sql sql-server-2005

在我的表格中,我有一个存储日期的专栏。我传递月号作为存储过程的参数。

我想从表中删除该月的所有条目。

可能...... ??

5 个答案:

答案 0 :(得分:5)

我认为这是你的答案:

delete from yourtable where month(YourDatetimeColumn) = 5 -- for example 'may'

OR

delete from yourtable where datepart(mm,YourDatetimeColumn) = 5 -- for example 'may'

注意:用输入参数替换5。这不会考虑您日期的year部分,因此如果是2014年5月或2015年5月,则所有内容都将被删除。

答案 1 :(得分:2)

我不熟悉SQL Server版本,但您将其标记为2005。

如果month()出现问题,您也可以使用;

delete from your_table where datepart(month, table_datefield) = @procedure_argument_month

但正如在其他答案中一样,这将删除您所提供的月份所有字段,正如您所描述的那样,而不是注意年份。

答案 2 :(得分:0)

delete from TABLE_NAME
where DATEPART(mm,ColumnName) = @MONTH_PARAMETER

答案 3 :(得分:0)

它适合你:

delete from [tablename] 
where DATEPART(month,[datecolumn]) = @inputDigit

答案 4 :(得分:0)

在给定的查询中,您在数字中传递您想要删除数据的月份。

Delete from tbl_xyz where DATEPART(mm, clm_CreatedTime) = @Month