我的表中有一个datetime字段,日期如下
2012-11-29 00:00:00.000我想在我的查询中创建一个where,只过滤像2012-11这样的日期
我试着制作left(datefield,7) = for example '2012-10',但它不能工作。
我能做什么?
发布于 2015-04-09 16:30:33
试试这个:
在sql-server中
...where LEFT(CONVERT(varchar, datefield,112),6)发布于 2015-04-09 16:40:52
我建议您使用YEAR()和MONTH()函数进行比较:
YEAR(fielddate) = 2012 AND MONTH(fielddate) = 10或
SUBSTRING(CONVERT(varchar, fielddate, 112), 1, 6) = '201210'或
CONVERT(varchar, fielddate, 112) Like '201210%'备注:
您可以使用REPLACE('2012-10', '-', '')来获取201210。
发布于 2015-04-09 16:35:43
我认为这会有所帮助--在SQL SERVER中。
where convert(varchar,datepart(yyyy,getdate()))+'-'+convert(varchar,datepart(MM,getdate()))https://stackoverflow.com/questions/29533513
复制相似问题