我有以下选择:
SELECT * FROM Table
WHERE Column= datepart(month,'2013-05-07 10:18:00')
AND Column= datepart(year,'2013-05-07 10:18:00')
我想让它向我展示月份= 05和年份= 2013年的情况。实际上它没有显示任何内容(但有结果显示)。感谢。
答案 0 :(得分:6)
我会使用MONTH和YEAR函数
SELECT * FROM Table
WHERE MONTH(yourColumn) = 5 and YEAR(yourColumn) = 2013
答案 1 :(得分:3)
SELECT *
FROM Table
WHERE datepart(month, datecolumn) = 5
AND datepart(year, datecolumn) = 2013
答案 2 :(得分:1)
在列上应用函数通常是一个坏主意。它使条件为non-sargable。
最好在一段时间内进行测试。
SELECT *
FROM YourTable
WHERE DateCol >= '20130501' AND
DateCol < '20130601'
答案 3 :(得分:-1)
尝试
SELECT * FROM Table WHERE month = DATE_FORMAT('2013-05-07 10:18:00', '%m') AND ...
答案 4 :(得分:-1)
我想你的专栏本身就是DATE? 然后你需要在“=”
的两边应用DATEPARTSELECT
*
FROM Table
WHERE
DATEPART(MONTH, Column)= DATEPART(MONTH,'2013-05-07 10:18:00')
AND DATEPART(YEAR, Column) = DATEPART(YEAR,'2013-05-07 10:18:00')