Geo*_*ge2 0 t-sql sql-server between sql-server-2008
我在Windows Server 2008 Enterprise上使用SQL Server 2008 Enterprise.我在SQL Server 2008中有关于tsql的问题.对于select-where语句,有两种不同的形式,
(1)选择[some value]和[some value]之间的foo,
(2)选择foo> = [some value]和foo <= [其他值]的地方?我不确定是否和使用<=和> =符号相同?
顺便说一句:它们是否总是相同 - 即使对于不同类型的数据(例如比较数值,比较字符串值),如果有人可以提供一些文件来证明它们是否总是相同,那么我会感激,以便我可以从中学到更多.
乔治,提前谢谢
是的,他们总是一样的.在联机丛书入门的BETWEEN
说
如果test_expression的值大于或等于begin_expression的值且小于或等于end_expression的值,则BETWEEN返回TRUE.
事实上,通过查看执行计划,您可以轻松地看到这一点.你会看到它Between
甚至没有出现在文本中.它已被替换>=
,并<=
没有在两者之间做出区分.
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*/
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
123 次 |
最近记录: |