gpt4 book ai didi

sql - 带有字母范围的 PATINDEX 排除变音符号(重音字符)

转载 作者:行者123 更新时间:2023-12-04 18:33:22 24 4
gpt4 key购买 nike

我试图弄清楚如何使用 patindex 来查找一系列字母字符,但排除重音字符。如果我直接搜索,使用默认整理(不敏感)就可以了。但是,当我搜索一系列字母时,它将匹配重音字符

SELECT
IIF('Ú' = 'U' COLLATE Latin1_General_CI_AI, 'Match', 'No') AS MatchInsensitive,
IIF('Ú' = 'U' COLLATE Latin1_General_CI_AS, 'Match', 'No') AS MatchSensitive,
PATINDEX('%[A-Z]%', 'Ú' COLLATE Latin1_General_CI_AI) AS PIInsensitive,
PATINDEX('%[A-Z]%', 'Ú' COLLATE Latin1_General_CI_AS) AS PISensitive

会给出以下结果:
MatchInsensitive MatchSensitive PIInsensitive PISensitive
---------------- -------------- ------------- -----------
Match No 1 1

我真正想做的是识别字符串中重音字符的字符位置,所以我真的在搜索 PATINDEX('%[^A-Z0-9 ]%') .

如果我有以下查询,我希望结果为 2 SELECT PATINDEX('%[^A-Z0-9 ]%', 'médico') ,但我得到 0。

最佳答案

您可以使用二进制排序规则,例如Latin1_General_100_BIN2 .

select patindex('%[^a-zA-Z0-9 ]%', 'médico' collate Latin1_General_100_BIN2)

雷克斯特: http://rextester.com/ZICLN98474

返回 2

关于sql - 带有字母范围的 PATINDEX 排除变音符号(重音字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com