具有字符范围和区分大小写列的SQL Server LIKE运算符

敬一

您能解释一下为什么以下查询返回不满足LIKE条件的行。表中的列具有区分大小写的排序规则,因此查询不应返回任何内容。

CREATE TABLE #temp (col CHAR COLLATE SQL_Latin1_General_CP1_CS_AS);
INSERT INTO #temp VALUES ('A'), ('B'), ('C'), ('D'), ('E');
SELECT * FROM #temp WHERE col LIKE '[b-d]';

其他任何区分大小写的排序规则(即Latin1_General_100_CS_AS,Polish_100_CS_AS,Modern_Spanish_100_CS_AS)也无法正常工作。

据我所知,只有二进制排序顺序集合(Latin1_General_100_BIN2,Modern_Spanish_100_BIN2)可以很好地工作。

仅当我在LIKE条件下使用范围时,才会出现此错误。当我将[bd]更改为[bcd]时,一切正常。

它是数据库引擎中的错误吗?

我在Windows NT 6.1(Build 7601:Service Pack 1)上使用Microsoft SQL Server 2008(SP3)-10.0.5846.0(X64)企业版(64位)

马丁·史密斯

不,这不是错误。

模式语法中的范围不是正则表达式。它在归类排序顺序下定义了一个范围。

这些归类排序AaBbCcDd...YyZz(大写和小写混合),所以这是预期的结果。

二进制排序规则排序AB .... YZ .... ab ... yz(大写字母和小写字母分开),这就是为什么它可以正常工作的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有字符范围和区分大小写列的SQL Server LIKE运算符

来自分类Dev

SQL Server 2012中带有'AND'运算符的'LIKE'子句

来自分类Dev

如何在 SQL Server 中使用带有 like 运算符的 nchar

来自分类Dev

SQL Server中的AND和OR运算符

来自分类Dev

如何在SQL Server中使用LIKE运算符找到“%”?

来自分类Dev

使用LIKE运算符:适用于SQL Server,但不适用于SQLite

来自分类Dev

在链接的 SQL Server 表上使用参数访问查询 Like 运算符

来自分类Dev

值内的特殊字符不适用于like运算符,而相同字符可用于SQL Server中的=运算符

来自分类Dev

SQL Server左联接“或”运算符

来自分类Dev

SQL Server中的NOT vs <>运算符

来自分类Dev

SQL Server中的NOT vs <>运算符

来自分类Dev

SQL Server Like查询不区分大小写

来自分类Dev

SQL LIKE运算符和通配符

来自分类Dev

SQL LIKE运算符和通配符

来自分类Dev

SQL Server和带有ON的运算符

来自分类Dev

原子中的SQL LIKE运算符

来自分类Dev

带哈希的SQL LIKE运算符

来自分类Dev

SQL - 运算符 LIKE 返回 '%' 或 null

来自分类Dev

带有空字符串 (%''%) 的 SQL Server LIKE 运算符是否匹配 VARCHAR 列中的所有非 NULL 值?

来自分类Dev

像SQL Server中的运算符和尾随空格

来自分类Dev

MS SQL Server 上是否有用于动态列表或多个字符串集的 LIKE 运算符?

来自分类Dev

SQL Server,IN运算符显示不同的结果

来自分类Dev

SQL-Server:在where运算符中使用if

来自分类Dev

试图通过运算符比较SQL Server中的时间

来自分类Dev

SQL Server中的R:$运算符对原子向量无效

来自分类Dev

SQL Server 存储 pProcedure with is null and equals 运算符

来自分类Dev

带有特殊字符混淆的MySQL LIKE运算符

来自分类Dev

sql查询,是否可以存在LIKE和==运算符?

来自分类Dev

不区分大小写的字符串的重载运算符>>

Related 相关文章

  1. 1

    具有字符范围和区分大小写列的SQL Server LIKE运算符

  2. 2

    SQL Server 2012中带有'AND'运算符的'LIKE'子句

  3. 3

    如何在 SQL Server 中使用带有 like 运算符的 nchar

  4. 4

    SQL Server中的AND和OR运算符

  5. 5

    如何在SQL Server中使用LIKE运算符找到“%”?

  6. 6

    使用LIKE运算符:适用于SQL Server,但不适用于SQLite

  7. 7

    在链接的 SQL Server 表上使用参数访问查询 Like 运算符

  8. 8

    值内的特殊字符不适用于like运算符,而相同字符可用于SQL Server中的=运算符

  9. 9

    SQL Server左联接“或”运算符

  10. 10

    SQL Server中的NOT vs <>运算符

  11. 11

    SQL Server中的NOT vs <>运算符

  12. 12

    SQL Server Like查询不区分大小写

  13. 13

    SQL LIKE运算符和通配符

  14. 14

    SQL LIKE运算符和通配符

  15. 15

    SQL Server和带有ON的运算符

  16. 16

    原子中的SQL LIKE运算符

  17. 17

    带哈希的SQL LIKE运算符

  18. 18

    SQL - 运算符 LIKE 返回 '%' 或 null

  19. 19

    带有空字符串 (%''%) 的 SQL Server LIKE 运算符是否匹配 VARCHAR 列中的所有非 NULL 值?

  20. 20

    像SQL Server中的运算符和尾随空格

  21. 21

    MS SQL Server 上是否有用于动态列表或多个字符串集的 LIKE 运算符?

  22. 22

    SQL Server,IN运算符显示不同的结果

  23. 23

    SQL-Server:在where运算符中使用if

  24. 24

    试图通过运算符比较SQL Server中的时间

  25. 25

    SQL Server中的R:$运算符对原子向量无效

  26. 26

    SQL Server 存储 pProcedure with is null and equals 运算符

  27. 27

    带有特殊字符混淆的MySQL LIKE运算符

  28. 28

    sql查询,是否可以存在LIKE和==运算符?

  29. 29

    不区分大小写的字符串的重载运算符>>

热门标签

归档