是否有内置或变通方法来确定字符“IsAlpha”?
我看到很多围绕的建议
IF PATINDEX('[a-zA-Z]', @c) > 0
BEGIN
--It is alpha
END
除非忽略了不在给定范围
A-Z
中的字母字符。 最佳答案
排序规则控制着重音符号和变音符号的评估方式,例如S
是否等于Š
。
请注意以下结果...第一个SELECT
返回2个匹配项,第二个ojit_code仅返回1个匹配项:
DECLARE @testTable TABLE (testValue nvarchar(50))
insert into @testTable (testValue) values ('Š')
insert into @testTable (testValue) values ('S')
insert into @testTable (testValue) values ('4')
SELECT 'IsAlpha', testValue
FROM @testTable
WHERE PATINDEX('[a-zA-Z]', testValue COLLATE Latin1_General_CS_AS) > 0
SELECT 'IsAlpha', testValue
FROM @testTable
WHERE PATINDEX('[a-zA-Z]', testValue COLLATE LATIN1_GENERAL_BIN) > 0
You can find a list of collations within SQL Server 2008 and a brief descripition here.