Sql server SQL Server选择where语句问题
我正在Windows Server 2008 Enterprise上使用SQL Server 2008 Enterprise。我有一个关于SQLServer2008中tsql的问题。对于select where语句,有两种不同的网络形式 (1) 选择foo在[some value]和[some other value]之间的位置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_表达式的值 小于或等于 结束你的表达
(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*/