在数据库查询中,我要用SQL语句查询“字符数大于N”,用where从句该怎么写?比如我要查询身份证

在数据库查询中,我要用SQL语句查询“字符数大于N”,用where从句该怎么写?比如我要查询身份证号码字段中所有大于18位或在15位到18位之间或小于15位的数据,该怎么查?
求大神指教,1024码子答谢。

15-18之间

select *  from è¡¨å where len(身份证号) between 15 and 18

15以下

select *  from è¡¨å where len(身份证号) <15

18以上

select *  from è¡¨å where len(身份证号) >18追问

再请问,我把18位以上的身份证号码都查出来了,但是有些是19位,有些是20位,还有一些是18位但后面有好几个空格,如何查出每一条的具体字符数

追答select èº«ä»½è¯å·,len(身份证号) from è¡¨å

如果你想不计算空格位的话

select *  from è¡¨å where len(rtrim(ltrim(身份证号))) between 15 and 18

其他雷同

追问

没有返回字符数呀

请问怎么返回字符数

追答

用的哪个,截图

追问

后面的

不方便截图,内部资料

追答

那就没15到18之间的呗

select *  from è¡¨å where len(rtrim(ltrim(身份证号)))<15

这样呢

追问

三种我都试过了,都返回了符合要求的数据,但是没有返回字符数啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-28
select * from table1 where len(身份证)>15


使用len()函数可以返回字符长度

追问

我试过了,只能返回符合要求的数据,没有返回字符数