首页 >数据库 >mysql教程 >如何在 SQL Server 中执行不区分大小写的字符串比较?

如何在 SQL Server 中执行不区分大小写的字符串比较?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-30 05:08:09211浏览

How to Perform Case-Insensitive String Comparisons in SQL Server?

SQL Server 中不区分大小写的查询

在 SQL Server 中,字符串比较通常区分大小写。但是,如果您需要在 WHERE 子句中执行不区分大小写的比较,则可以使用 COLLATE 运算符。

示例:

假设您有以下数据在名为 myTable 的表中:

| myField |
|---------|
| sOmeVal |
| AnOtHeRVaL |

以下查询选择 myField 列等于的所有行sOmeVal 以不区分大小写的方式:

SELECT * FROM myTable WHERE myField COLLATE SQL_Latin1_General_CP1_CI_AS = 'sOmeVal';

COLLATE 运算符有两个参数:

  • 要比较的表达式
  • 要使用的排序规则比较

排序规则指定比较字符串的规则。在此示例中,我们使用 SQL_Latin1_General_CP1_CI_AS 排序规则,它执行不区分大小写的比较。

请注意,您的数据库的默认排序规则可能有所不同。您可以使用以下查询检查默认排序规则:

SELECT COLLATION_NAME FROM sys.databases WHERE name = 'myDatabase';

如果默认排序规则不区分大小写,则需要在查询中显式指定排序规则。

以上是如何在 SQL Server 中执行不区分大小写的字符串比较?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn