我的CUSTOMER表中有一些字符导致下游XML进程咆哮。它似乎是 LAST_NAME 具有双字节字符的位置。我已经审核了SQL Server question,其中解释了collation。但我仍然被卡住了。我注意到一些字符是2字节。我正在使用AL32UTF8和UTF8字符集。
如何找到包含2个字节字符的last_names? 这是我应该问的问题,如果我想找到所有2字节字符而不管整理?
答案 0 :(得分:3)
用于基本的字节检查!=你可以做的字符
select *
from customer
where length(last_name) != lengthb(last_name);
但是如NullUserException所述,取决于你真正想要定义特殊字符的方式。
答案 1 :(得分:1)
看这里:
http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions233.htm#SQLRF06162
SELECT last_name, VSIZE (last_name) "BYTES"
FROM employees
WHERE department_id = 10
ORDER BY employee_id;
LAST_NAME BYTES
--------------- ----------
Whalen 6