过滤阿拉伯字符串

Filter on Arabic strings

我们正在将数据从一个 Sql-server 数据库迁移到另一个数据库。有一列 nvarchar 类型的列可能包含阿拉伯字符。我需要将英文名称与阿拉伯名称分开,并将每个名称放在自己的列中。类似于:

insert NewTable(EnglishDescription)
select Description from OldTable where Description does not contain 'Arabic characters'

insert NewTable(ArabicDescription)
select Description from OldTable where Description contains 'Arabic characters'

我在 SO 中看到过类似的场景,但其中 none 展示了如何在 sql-server

中实现该场景

如果你想获取包含阿拉伯字符的字符串,那么你可以这样做:

insert NewTable(ArabicDescription)
select Description from OldTable where Description like N'%[أ-ي]%'

您可以通过在 like 之前添加 not 来获得拉丁语。

但是,当查询阿拉伯字符时会出现可能同时包含拉丁语和阿拉伯语的字符串。