gpt4 book ai didi

sql - ms sql 查找 unicode 0

转载 作者:行者123 更新时间:2023-12-04 20:31:27 25 4
gpt4 key购买 nike

在数据库中写入了一个 unicode 0,然后开始查询以查找该值。示例:

select *,Len(test) as length, Unicode(test) as unicode,DATALENGTH(test) as datalength 
from (values (NCHAR(0x0))) as t(test)
where test like N'_'

但是没有返回值。为什么?我需要做什么才能让它起作用?

最佳答案

这是 Pattern matching documentation 的预期行为:

0x0000 (char(0)) is an undefined character in Windows collations and cannot be included in LIKE.

但是请注意,LIKE CHAR(0) 确实有效

DECLARE @Character nchar(1);
SET @Character = NCHAR(0);
SELECT CASE WHEN @Character LIKE CHAR(0) THEN 1 ELSE 0 END;

或者

DECLARE @Character nchar(10);
SET @Character = NCHAR(0);
SELECT CASE WHEN @Character LIKE '%' + CHAR(0) + '%' THEN 1 ELSE 0 END;

具体来说,文档说使用通配符,例如 '_'(N)CHAR(0) 将不起作用。

关于sql - ms sql 查找 unicode 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50389846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com