【发布时间】:2020-02-08 15:35:51
【问题描述】:
我有一个表格,其中某些行在文本中包含 Œ,我想找到它们并将其替换为 £,但它也在使用 OE 查找文本,我不希望它找到。
目前我已经剥离了所有内容,我只是想在一串字符中找到Œ 的位置。
我尝试了以下 3 行,但都返回相同的结果。
SELECT CHARINDEX(CHAR(140), '1234OE7ŒA9')
SELECT CHARINDEX(CHAR(140), '1234OE7ŒA9' COLLATE Latin1_General_CS_AI )
SELECT CHARINDEX(CHAR(140), cast('1234OE7Œ9' as varchar(20)) COLLATE Latin1_General_CS_AI)
上面的所有结果都返回 5,它是 OE 的起始位置,但我希望它只找到包含 Œ 的记录,它位于字符串中的第 8 位。字符 140 是 Œ
【问题讨论】:
标签: sql sql-server tsql char ascii