T-SQL: select 带有特定希伯来文点的单词,使用点代码
T-SQL: select words with specific hebrew dots using dot code
作为点(=元音)的希伯来文字符之一的代码是 1463 或 0x05b7
我尝试 select 仅包含此字符的单词,但我得到了整个单词列表。
我试试:
DECLARE @d NCHAR
set @d = NCHAR(1463)
select * from words where word like '%' + @d + '%'
我也试过了
select * from words where word LIKE '%'+NCHAR(0x05B7)+'%'
我试图用
来完成声明
collate hebrew_cs_as
或
collate hebrew_cs_ai
它不起作用
PS 当我尝试使用像 1488 这样的字母代码时,它工作正常
例如。
select * from words where word LIKE '%'+NCHAR(1488)+'%'
如果将源 nvarchar COLLATE
设为 Latin1_General_BIN
,您可以获得正确的结果
DECLARE @t TABLE(txt NVARCHAR(4000));
INSERT INTO @t(txt)VALUES
(NCHAR(1463)),(N'abcdef'),(N'aiiy'+NCHAR(1463)+N'skj'),(N'sdljsd'),(N'sdjp'+NCHAR(1463)),(N'sdzf');
SELECT * FROM @t WHERE txt COLLATE Latin1_General_BIN LIKE N'%'+NCHAR(1463)+N'%';
结果:
作为点(=元音)的希伯来文字符之一的代码是 1463 或 0x05b7
我尝试 select 仅包含此字符的单词,但我得到了整个单词列表。
我试试:
DECLARE @d NCHAR
set @d = NCHAR(1463)
select * from words where word like '%' + @d + '%'
我也试过了
select * from words where word LIKE '%'+NCHAR(0x05B7)+'%'
我试图用
来完成声明collate hebrew_cs_as
或
collate hebrew_cs_ai
它不起作用
PS 当我尝试使用像 1488 这样的字母代码时,它工作正常
例如。
select * from words where word LIKE '%'+NCHAR(1488)+'%'
如果将源 nvarchar COLLATE
设为 Latin1_General_BIN
DECLARE @t TABLE(txt NVARCHAR(4000));
INSERT INTO @t(txt)VALUES
(NCHAR(1463)),(N'abcdef'),(N'aiiy'+NCHAR(1463)+N'skj'),(N'sdljsd'),(N'sdjp'+NCHAR(1463)),(N'sdzf');
SELECT * FROM @t WHERE txt COLLATE Latin1_General_BIN LIKE N'%'+NCHAR(1463)+N'%';
结果: