sql 查询语句,关于某个字段位数判断。
比如,在某个个人信息表中,有些身份证号录入错误,不为15位或者18位,将这些错误的证件号码(zjhm)列出,怎么编写。select*fromtabnamewherezjh...
比如,在某个个人信息表中,有些身份证号录入错误,不为15位或者18位,将这些错误的证件号码(zjhm)列出,怎么编写。
select *
from tabname
where zjhm???????
这里的where如何编写?
谢谢大家,忘了说了,zjhm是字符型的。数据库是informix的 展开
select *
from tabname
where zjhm???????
这里的where如何编写?
谢谢大家,忘了说了,zjhm是字符型的。数据库是informix的 展开
4个回答
展开全部
查询出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都试试吧,不行的话,只能等人来解答了
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都试试吧,不行的话,只能等人来解答了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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' 之间数字
这破百度不让我写那么长的数字,我只能用文字形式告诉你了!
为什么这样写呢,因为如果非15位的身份证号肯定不在'1后面加14个0' 和 '9后面加14个9' 之间数字,非18位的身份证号肯定不在'1后面加17个0' 和 '9后面加17个9' 之间数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select *
from tabname
where zjhm='?????'
这样应该OK的,祝你好运了
from tabname
where zjhm='?????'
这样应该OK的,祝你好运了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询