在阿拉伯语中,我们有这样的字符?(alef) 和 ? (alef 与 hamza)。
用户可以互换地编写它们,我们希望可以互换地搜索它们。SQL Server 将它们视为单独的字符。如何让 SQL 将它们视为相同的字符?
我想更换任何?(alef 与 hamza)与 ? (alef) 在插入时,但我们有很多阿拉伯语的替代品,不仅仅是 ? (alef) 和 ? (alef 与 hamza)。
我试过了Arabic_CI_AS
,Arabic_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)
所需的结果将是我们插入的两行。