日期:2014-05-16  浏览次数:21059 次

怎么查询出ORACLE表的列的值是中文的
怎么查询出ORACLE表的列的值是中文的

如 表的一列 有中文 。数字 、英文字母,我要怎么查询出是 中文的值,是数字的值,是英文字母的值?

------解决方案--------------------
where length!(column_name)=lengthb(column_name)
------解决方案--------------------
SQL code

select * from user_tab_cols where  length(column_name)<>lengthb(column_name)

------解决方案--------------------
实测数据:
SQL code

-- 只查询中文数据
CREATE TABLE T63
(
    ID NUMBER(4),
    NAME VARCHAR2(20)
);

INSERT INTO T63 VALUES(1, '123');
INSERT INTO T63 VALUES(2, 'xt');
INSERT INTO T63 VALUES(3, '张');

------解决方案--------------------
正则表达式和一门语言差不多. 很难一下说清楚. 

在处理文本方面正则表达式有优势,就是学习起来比较复杂. 另外oracle的正则表达式支持数据库核心字符集中所有字符.