(ORACLE)sql判斷一個欄位是否全數字 或含有中文及統計某個欄位中中文的個數
阿新 • • 發佈:2019-02-14
一、判斷一個欄位是否全數字 或含有中文
update (select length(t.name), t.* -- name,length(name) from g_enterprise_info t where nvl2(translate(name, '\1234567890 ', '\'), 'is characters ', 'is number ') = 'is number ' and asciistr(gszcdjh) like '%\%') set name = gszcdjh, gszcdjh =name ;
判斷一個欄位是否全數字
translate(name, '\1234567890 ', '\')
判斷一個欄位是否含有中文
asciistr(gszcdjh) like '%\%'
二、在資料中怎麼統計某個欄位中中文的個數
表dept有如下資料:
Oracle 中 length 求的是字元的長度,lengthb是位元組的長度,一箇中文是2個位元組,數字,字母,標點之類是一個位元組。
www.2cto.com
select lengthb(DNAME) from dept; --
select LENGTH(DNAME) from dept;
-- 統計欄位DNAME中中文的個數
select lengthb(DNAME) - length(DNAME) from dept;
ref: https://blog.csdn.net/lanqibaoer/article/details/45196959
https://www.2cto.com/database/201303/192482.html