【发布时间】:2012-10-13 21:18:44
【问题描述】:
我有一张表格,其中的数字范围为 0-2000000。如果我执行 BETWEEN 50 AND 100,我可以使用 between 语句来获取事物的记录。这很有效。
但我遇到的问题是,如果字符串中有任何记录为“1FD32”,则此列是一个 varchar,我无法在它之间进行选择。 SQL 服务器无法转换“BETWEEN 50 AND 100”,因为它正在寻找一个 int。如何获取这些范围之间的所有记录,并忽略其中包含字母的任何记录?
【问题讨论】:
-
@LittleBobbyTables 。 . .诚然,它几乎是文档页面 (msdn.microsoft.com/en-us/library/ms173545.aspx) 上的括号注释,但它确实指出:“逻辑运算符的评估顺序可能会因查询优化器所做的选择而异。”这在其他网站上进行了更广泛的讨论,例如stackoverflow.com/questions/484135/…。
标签: sql sql-server-2008 sql-server-2005 sql-server-2008-r2 sql-server-2000