SQL查询一串数字里面是否有字符,字母,或者标点符号之类的?

数据库信息表里有一个身份证号字段,但是里面的数据不太规范,有的包含有汉字,字母或者中文/英文的标点,我想查询出这些来,有没有什么办法?... 数据库信息表里有一个身份证号字段,但是里面的数据不太规范,有的包含有汉字,字母或者中文/英文的标点,
我想查询出这些来,有没有什么办法?
展开
 我来答
老师小乔
2012-04-23 · TA获得超过3680个赞
知道大有可为答主
回答量:1985
采纳率:66%
帮助的人:676万
展开全部
查出来的话必须用到字符串处理函数以及模糊查询方面的知识。那么如何从根本上解决这个问题呢?必须在插入之前对输入进行规范。可使用正则表达式对输入进行鉴别,如果包含汉字、中英文标点的进行提示,待正确输入后方可提交表单。另外需要提醒你的是带字母的身份证号是存在的,比如最后一位是X,这个需要仔细考虑一下。
科技程序迷
2012-04-23 · TA获得超过2822个赞
知道大有可为答主
回答量:2240
采纳率:0%
帮助的人:1828万
展开全部
Select 身份证号码 Form 信息表
Where 身份证号码 Like '^[0123456789]'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
J_LD_P
2012-04-23 · TA获得超过109个赞
知道答主
回答量:103
采纳率:100%
帮助的人:42.1万
展开全部
select * from person
where len(idno) not in(15,18)
or isnumeric(case when len(idno)=18 then substring(idno,1,17) else idno end)=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潮康胜25
2012-04-23 · 超过13用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:38.5万
展开全部
Select 身份证号码 Form 信息表
Where 身份证号码 Like '[^0-9]'

[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式