如何通过在where where条件中传递月份来从SQL Server数据库中检索行,因为我已使用datetime
数据类型作为日期列。
SQL Server是否有任何功能,我可以在那里发送月份并相应地获取该行?
答案 0 :(得分:2)
我会根据日期列中的月份创建一个索引计算列。这样,查询将按比例缩放,因为您将为查询索引特定列。
使用Month(yourdatecolumn)= somemonth将在查询执行时进行表扫描(如读取每个值以确定月份),因此对于大量数据来说不是一个好主意。
请参阅this article,了解为什么在where子句中使用函数是错误的。
答案 1 :(得分:1)
SELECT * FROM table
WHERE MONTH(datecolumn) = 1
这将返回1月份的所有记录