在varchar值的上下文中使用Between运算符

时间:2014-03-17 09:58:31

标签: sql sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2

在sql中,条件有一个如下所示的值

select * from tabl
where
code not between 'A00' and 'B99'

这是如何工作的?到目前为止,我认为它仅适用于数字和日期

2 个答案:

答案 0 :(得分:1)

ORDER BY处理varchar值的方式相同。

每个char都有ASCII代码和排序顺序,因此每个值都可以通过其ASCII代码进行比较。

答案 1 :(得分:0)

BETWEEN运算符会将这些视为varchars,并相应地应用其比较规则:

如果test_expression的值大于或等于begin_expression的值且小于或等于end_expression的值,则BETWEEN返回TRUE。

  

SQL使用ASCII代码列表来确定要在哪里排序   以什么顺序。