sql 查询语句,关于某个字段位数判断。

比如,在某个个人信息表中,有些身份证号录入错误,不为15位或者18位,将这些错误的证件号码(zjhm)列出,怎么编写。select*fromtabnamewherezjh... 比如,在某个个人信息表中,有些身份证号录入错误,不为15位或者18位,将这些错误的证件号码(zjhm)列出,怎么编写。
select *
from tabname
where zjhm???????

这里的where如何编写?
谢谢大家,忘了说了,zjhm是字符型的。数据库是informix的
展开
 我来答
百度网友faadf46
高粉答主

2019-07-22 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:73.8万
展开全部

1、首先我们准备一个数据表。

2、然后表中的字段如下图所示。

3、接着我们用COL_LENGTH函数进行字段的判断。

4、然后点击执行按钮。

5、接下来我们就可以看到输入了下图的内容,代表是存在的。

6、当然我们还可以写Else的分支语句,在里面添加不存在时候的逻辑。

shenchaoliang
推荐于2017-09-28 · TA获得超过1163个赞
知道大有可为答主
回答量:810
采纳率:0%
帮助的人:1514万
展开全部
查询出zjhm长度不是15也不是18位的记录如下
sql server
select *
from tabname
where len(zjhm) <> 15 and len(zjhm) <> 18 and

mysql
SELECT *
FROM tabname
WHERE LENGTH(zjhm) <> 15 AND LENGTH(zjhm) <> 18 AND

对informix不了解,len,LENGTH都试试吧,不行的话,只能等人来解答了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快用嘴圣疗
2011-03-20
知道答主
回答量:33
采纳率:0%
帮助的人:0
展开全部
SELECT * FROM `tabname` WHERE `zjhm` NOT BETWEEN '这里填1后面加14个0' AND '这里填9后面加14个9' AND `zjhm` NOT BETWEEN '这里填1后面加17个0' AND '这里填9后面加17个9' ';
这破百度不让我写那么长的数字,我只能用文字形式告诉你了!
为什么这样写呢,因为如果非15位的身份证号肯定不在'1后面加14个0' 和 '9后面加14个9' 之间数字,非18位的身份证号肯定不在'1后面加17个0' 和 '9后面加17个9' 之间数字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
为我所爱1125
2011-03-20
知道答主
回答量:36
采纳率:0%
帮助的人:11.6万
展开全部
select *
from tabname
where zjhm='?????'
这样应该OK的,祝你好运了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式