一、判断一个字段是否全数字 或含有中文
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