0

私の CUSTOMER テーブルには、下流の XML プロセスの原因となる文字が含まれています。LAST_NAMEに 2 バイト文字がある場所のようです。collat​​ionについて説明したこのSQL Server の質問を確認しました。しかし、私はまだ立ち往生しています。一部の文字が 2 バイトであることに気付きました。AL32UTF8 および UTF8 文字セットを使用しています。

2 バイト文字の last_names を見つけるにはどうすればよいですか? 照合順序に関係なく、すべての 2 バイト文字を検索したい場合、それは私が尋ねるべき質問ですか?

2バイト文字

4

2 に答える 2

3

バイト != 文字の基本的なチェックには、次のようなことができます

select * 
  from customer
 where length(last_name) != lengthb(last_name); 

ただし、 NullUserException が述べたように、特殊文字を実際にどのように定義したいかによって異なります。

于 2013-01-18T16:19:18.707 に答える
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
于 2013-01-18T20:52:12.930 に答える