求一句SQL语句应该怎么写 有一张YHXX的表,里面账号这一列名里,因为以前输入的账号都是用英文表示,后期输入的账号用数字表示,我就是想用一条SQL语句找出这个账号列名里,所有是数字的字段或者所有是英文的字段,这个应该怎么写,数据库是ORACLE的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 正则表达式即可select * from yhxxwhere regexp_like('zhanghao','^[A-Za-z]+$'); 全英文select * from yhxxwhere regexp_like('zhanghao','^[A-Za-z0-9]+$'); 英文数字select * from yhxxwhere regexp_like('zhanghao','^[0-9]+$'); 全数字 --假设的你的帐号的要么全是英文,要么全是数字--帐号中没有英文字母的记录select * from yhxx where upper(字段)=lower(字段)--账号中只有英文字母的记录select * from yhxx where upper(字段)<>lower(字段) 这个语句对我没用,不知道是否是因为我的ORACLE 是9I的关系,是不是正则表达式需要ORACLE 10G的 我觉得,你是不是where前面没有空格,我写漏了 好还有就是'zhanghao',应该是表字段,不要单引号,我是用string测试的 真的已经按你给的语句写了,一点都没有错,就是报错,ORA-00920 无效的关系运算符 upper是将字符串转为大写,lower是将字符串装为小写upper('aA')='AA'lower('aA')='aa'所以如果一个字符串里有字母,upper和lower后的结果肯定不一样upper('00')='00'lower('00')='00'如果一个字符串都是数字,upper('00')=lower('00') oracle 查询时报 ORA-01722: 无效数字 错误 请问出现SP2-0552: 未说明结合变量是什么原因 安装完oracle,忘记密码和用户名。如何在dos下修改? 查询记录,并根据记录数判断,需要做二次查询吗 在oracle8.1.7下如何启用函数索引 提高oracke于程序之间的交互效率 owb10 中导入数据的问题 数据库高手必看,绝对值得一看 我用JBuilder 7连接局域网内一ORACLE 9( 在本机可以连接)的问题? linux oracle substr 截取异常 ORA-12560:TNS: 协议适配器错误 求一个统计报表怎么实现,可以用oracle过程实现
select * from yhxxwhere regexp_like('zhanghao','^[A-Za-z]+$'); 全英文
select * from yhxxwhere regexp_like('zhanghao','^[A-Za-z0-9]+$'); 英文数字select * from yhxxwhere regexp_like('zhanghao','^[0-9]+$'); 全数字
--假设的你的帐号的要么全是英文,要么全是数字
--帐号中没有英文字母的记录
select * from yhxx where upper(字段)=lower(字段)
--账号中只有英文字母的记录
select * from yhxx where upper(字段)<>lower(字段)
我觉得,你是不是where前面没有空格,我写漏了
好还有就是'zhanghao',应该是表字段,不要单引号,我是用string测试的
upper是将字符串转为大写,lower是将字符串装为小写
upper('aA')='AA'
lower('aA')='aa'
所以如果一个字符串里有字母,upper和lower后的结果肯定不一样
upper('00')='00'
lower('00')='00'
如果一个字符串都是数字,upper('00')=lower('00')