Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在where条件下通过传递月份从数据库检索行_Sql_Sql Server 2005 - Fatal编程技术网

Sql 如何在where条件下通过传递月份从数据库检索行

Sql 如何在where条件下通过传递月份从数据库检索行,sql,sql-server-2005,Sql,Sql Server 2005,如何通过在where条件下传递month从SQL Server数据库检索行,正如我在date列中使用的datetimedatatype一样 SQL Server是否有任何功能,我可以在其中发送月份并相应地获取行 SELECT * FROM table WHERE MONTH(datecolumn) = 1 这将返回1月份的所有记录 这将返回一月的所有记录我将根据日期列中的月份创建一个索引计算列。通过这种方式,查询将按比例扩展,因为您将有一个特定的列作为索引用于查询 使用Month(you

如何通过在where条件下传递month从SQL Server数据库检索行,正如我在date列中使用的
datetime
datatype一样

SQL Server是否有任何功能,我可以在其中发送月份并相应地获取行

SELECT * FROM table
   WHERE MONTH(datecolumn) = 1
这将返回1月份的所有记录


这将返回一月的所有记录

我将根据日期列中的月份创建一个索引计算列。通过这种方式,查询将按比例扩展,因为您将有一个特定的列作为索引用于查询

使用Month(yourdatecolumn)=somemonth将在查询执行时进行表扫描(如读取每个值以确定月份),因此对于大量数据来说不是一个好主意


有关为什么在where子句中使用函数不好的说明,请参阅。

我将根据日期列中的月份创建一个索引计算列。通过这种方式,查询将按比例扩展,因为您将有一个特定的列作为索引用于查询

使用Month(yourdatecolumn)=somemonth将在查询执行时进行表扫描(如读取每个值以确定月份),因此对于大量数据来说不是一个好主意


有关为什么在where子句中使用函数不好的说明,请参阅。

注意表格扫描!注意表格扫描!谢谢你的帮助,我会在实际执行时记住这件事谢谢你的帮助,我会在实际执行时记住这件事。。