Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 server SQL Server选择where语句问题_Sql Server_Tsql_Sql Server 2008_Between - Fatal编程技术网

Sql server SQL Server选择where语句问题

Sql server SQL Server选择where语句问题,sql-server,tsql,sql-server-2008,between,Sql Server,Tsql,Sql Server 2008,Between,我正在Windows Server 2008 Enterprise上使用SQL Server 2008 Enterprise。我有一个关于SQLServer2008中tsql的问题。对于select where语句,有两种不同的网络形式 (1) 选择foo在[some value]和[some other value]之间的位置 (2) 选择其中的foo>=[某些值]和foo是,它们总是相同的。介于之间的for表示 如果 测试_表达式大于或 等于begin_表达式的值 小于或等于 结束你的表达

我正在Windows Server 2008 Enterprise上使用SQL Server 2008 Enterprise。我有一个关于SQLServer2008中tsql的问题。对于select where语句,有两种不同的网络形式

(1) 选择foo在[some value]和[some other value]之间的位置


(2) 选择其中的foo>=[某些值]和foo是,它们总是相同的。介于之间的for
表示

如果 测试_表达式大于或 等于begin_表达式的值 小于或等于 结束你的表达


事实上,通过查看执行计划,您可以很容易地看到这一点。您将看到
Between
甚至没有出现在文本中。它已被替换为
=
是,它们总是相同的。介于
之间的for
表示

如果 测试_表达式大于或 等于begin_表达式的值 小于或等于 结束你的表达


事实上,通过查看执行计划,您可以很容易地看到这一点。您将看到
Between
甚至没有出现在文本中。它已被替换为
=
如何在SQL Server 2008 Management Studio中查看执行计划?对不起,我对这个话题不熟悉。@Martin Smith,谢谢你的解释。我在想我该怎么解释这个问题。@George2-在“查询”菜单上选择“包括实际执行计划”,然后运行查询或
CTRL+M
显示实际计划。编辑:穆罕默德解释了如何查看估计的计划。估计的计划可能更好,因为您甚至不必执行查询。谢谢,除了使用查询计划外,您是否有任何文档证明它们是相同的?如何在SQL Server 2008 Management Studio中轻松查看执行计划?对不起,我对这个话题不熟悉。@Martin Smith,谢谢你的解释。我在想我该怎么解释这个问题。@George2-在“查询”菜单上选择“包括实际执行计划”,然后运行查询或
CTRL+M
显示实际计划。编辑:穆罕默德解释了如何查看估计的计划。估计的计划可能更好,因为您甚至不必执行查询。谢谢,除了使用查询计划外,您是否有任何文档证明它们是相同的?
SELECT * FROM master.dbo.spt_values 
WHERE number between 1 and 3 /*Numeric*/

SELECT * FROM master.dbo.spt_values 
WHERE name between 'a' and 'b' /*String*/

select * from sys.objects 
WHERE create_date between GETDATE() and GETDATE()+100 /*Date*/