2013年11月5日 星期二

ORACLE 判斷資料中, 有沒有中文字

SELECT *  FROM table a WHERE LENGTH (id) != LENGTHB (id);
區別:length   是字串長度,lengthb   是位元組長度


select length('abc中國')
  from dual;
 
-- 結果: 5 碼
--------------------------
 
select lengthb('abc中國')
  from dual;
 
-- 結果: 9 碼 (UTF8 一個中文字 3 碼)
--------------------------
 
select 1
  from dual
 where length('abc中國') = lengthb('abc中國');
 
-- 結果: 0 row (表示字串中有中文字)
--------------------------
 
select 1
  from dual
 where length('abc') = lengthb('abc');
 
-- 結果: 1 row (表示字串中無中文字)

沒有留言:

張貼留言