在我的表格中,我有一个存储日期的专栏。我传递月号作为存储过程的参数。
我想从表中删除该月的所有条目。
可能...... ??
答案 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