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

liu_qingqiang 2011-12-17 07:23:43
怎么查询出ORACLE表的列的值是中文的

如 表的一列 有中文 。数字 、英文字母,我要怎么查询出是 中文的值,是数字的值,是英文字母的值?
...全文
165 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
争取今天 2011-12-20
  • 打赏
  • 举报
回复
正则表达式和一门语言差不多. 很难一下说清楚.

在处理文本方面正则表达式有优势,就是学习起来比较复杂. 另外oracle的正则表达式支持数据库核心字符集中所有字符.
liu_qingqiang 2011-12-19
  • 打赏
  • 举报
回复
正则表达式 怎么写啊?
我心飞翔 2011-12-19
  • 打赏
  • 举报
回复
实测数据:

-- 只查询中文数据
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, '张');


实测结果:
oO寒枫Oo 2011-12-19
  • 打赏
  • 举报
回复

select * from user_tab_cols where length(column_name)<>lengthb(column_name)
oO寒枫Oo 2011-12-19
  • 打赏
  • 举报
回复
where length!(column_name)=lengthb(column_name)
qinglang1987 2011-12-19
  • 打赏
  • 举报
回复
写个正则表达式 应该可以实现的吧
jdsnhan 2011-12-17
  • 打赏
  • 举报
回复
10以前用ascii判定,10以后用正则表达式判定
争取今天 2011-12-17
  • 打赏
  • 举报
回复
没中字符集都有自己的编码方案,找你数据库核心字符集的编码方案,按照实际存储的二进制值计算就可以.你到网上搜,应该有现成的方法

3,492

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧