后面的以AC AT开头的为一类
select * from table where id like 'A_%' 后面的可以这样查询出来 只是不知道单以字母A开头的
你的第一条语句怎么什么也查不出来呢 第二条语句相当于 like 'A%'查询出的是所有以A开头的
追答select * from table where substring(ID,1,1)='A'
追问你这样改最后的效果不是和你第二条语句是一样的了吗??
追答你想要什么结果?
追问就是执行一条语句 只能查出A554433 执行另一条语句只可以查出AC445566,AT999555 后面这个我做好了 就是select * from table where id like 'A_%' 前面的那个不知道改怎么查出来
追答不懂你意思,我的查询语句,满足A开头的都会查询出来。不知道你问什么
追问就是想只查出来以A开头的,不查出来AC,AT开头的
追答select * from table where substring(ID,1,1)='A' and (substring(ID,2,1)!='C' or substring(ID,2,1)!='T')
追问我只是举个例子 就是要说第二个的位置不能是字母,substring(id,2,1)!='a-z'可以这样写吗 substring
追答那你第二个位置的字符要什么类型?数字?
追问恩
追答1,如果第二位严格来讲是数字和字母的类型,最傻的方法如下
select * from table where substring(ID,1,1)='A' and (substring(ID,2,1) not in ('A','B','C','D')
把要排除的字母以''的形式一个个加上。
方法是挺傻的 先这么用着吧 等想到好的方法了再换吧
你的方法不行 再想想
追答我懂你意思了,就是一条模糊查出来的就是光光A打头的字段;
另外一条模糊查出来的是AC和AT打头的字段,对吗?
我效果出来了:
select * from table where id like 'A_%' and id not like'AC_%'and id not like'AT_%'
不错啊 提醒了啊 我整出来了 不过也挺傻的一条语句
select * from table where id like'a%' and id not like'a_%' 这样就是我要的效果了
行,出来就好~
帮助你的同时,自己也有意无意的提高了,互勉!
互相学习 ↑