Sql server SQL server中针对varchar数据的算术运算符

Sql server SQL server中针对varchar数据的算术运算符,sql-server,Sql Server,有人能给我解释一下,在SQL Server 2005中,诸如>或)10而小于(排序(以及运算符),则取决于SQL Server排序规则: 你必须在网上找到排序规则。注意,它们通常非常复杂。为了你的缘故,我会尽量避免比较VARCHAR,除非你真的需要。谢谢你的快速回复 我询问的原因是我需要查询英国邮政编码的数据库表。该表有两个邮政编码列,“from_postcode”和“to_postcode”,我需要确定给定的邮政编码是否位于这些值之间 幸运的是,数据已经以这样一种方式进行了布局,我认为我应该

有人能给我解释一下,在SQL Server 2005中,诸如>或<比较字符串之类的算术运算符是如何工作的吗?

如果它们与数字字段相对,它们的工作原理与您所期望的一样。如果是针对字符类型的数据字段,它们将按字母顺序工作。因此,如果您想要大于(>)10而小于(排序(以及<>运算符),则取决于SQL Server排序规则:


你必须在网上找到排序规则。注意,它们通常非常复杂。为了你的缘故,我会尽量避免比较VARCHAR,除非你真的需要。

谢谢你的快速回复

我询问的原因是我需要查询英国邮政编码的数据库表。该表有两个邮政编码列,“from_postcode”和“to_postcode”,我需要确定给定的邮政编码是否位于这些值之间

幸运的是,数据已经以这样一种方式进行了布局,我认为我应该能够使用算术运算符至少获得潜在匹配行的子集

是时候让我写一些(或者可能是相当多的)uni测试了