小编Geo*_*ros的帖子

将某些阿拉伯字符视为相同

在阿拉伯语中,我们有这样的字符?(alef) 和 ? (alef 与 hamza)。

用户可以互换地编写它们,我们希望可以互换地搜索它们。SQL Server 将它们视为单独的字符。如何让 SQL 将它们视为相同的字符?

我想更换任何?(alef 与 hamza)与 ? (alef) 在插入时,但我们有很多阿拉伯语的替代品,不仅仅是 ? (alef) 和 ? (alef 与 hamza)。

我试过了Arabic_CI_ASArabic_CI_AI但这并不能解决问题。

这是一个重新生成问题的脚本:

CREATE TABLE [dbo].[TestTable] (
    [ArabicChars] [nvarchar](50) NOT NULL,

    CONSTRAINT [PK_TestTable] PRIMARY KEY CLUSTERED 
    (
       [ArabicChars] ASC
    )
) ON [PRIMARY];


INSERT INTO TestTable values (N'????');
INSERT INTO TestTable values (N'????');

SELECT * 
FROM TestTable 
WHERE ArabicChars like N'?%';
Run Code Online (Sandbox Code Playgroud)

结果是:

ArabicChars 

????

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

所需的结果将是我们插入的两行。

sql-server collation

10
推荐指数
1
解决办法
9347
查看次数

标签 统计

collation ×1

sql-server ×1