SQL Server:IsCharAlpha

Ian*_*oyd 5 sql-server string globalization sql-server-2008

是否有内置或解决方法来确定字符" IsAlpha "?


我看到了许多围绕着的建议

IF PATINDEX('[a-zA-Z]', @c) > 0
BEGIN
   --It is alpha
END
Run Code Online (Sandbox Code Playgroud)

除非忽略不在给定范围内的字母字符A-Z.

Mic*_*son 4

排序规则控制重音符号和变音符号的评估方式,例如是否S等于\xc5\xa0

\n\n

请注意以下结果...第一个SELECT返回 2 个匹配项,第二个仅返回 1 个匹配项:

\n\n
DECLARE @testTable TABLE (testValue nvarchar(50))\n\ninsert into @testTable (testValue) values (\'\xc5\xa0\')\ninsert into @testTable (testValue) values (\'S\')\ninsert into @testTable (testValue) values (\'4\')\n\nSELECT \'IsAlpha\', testValue \nFROM @testTable \nWHERE PATINDEX(\'[a-zA-Z]\', testValue COLLATE Latin1_General_CS_AS) > 0 \n\nSELECT \'IsAlpha\', testValue \nFROM @testTable \nWHERE PATINDEX(\'[a-zA-Z]\', testValue COLLATE LATIN1_GENERAL_BIN) > 0 \n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以在此处找到 SQL Server 2008 中的排序规则列表和简要说明。

\n