1、首先我们准备一个数据表。
2、然后表中的字段如下图所示。
3、接着我们用COL_LENGTH函数进行字段的判断。
4、然后点击执行按钮。
5、接下来我们就可以看到输入了下图的内容,代表是存在的。
6、当然我们还可以写Else的分支语句,在里面添加不存在时候的逻辑。
查询出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都试试吧,不行的话,只能等人来解答了
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' 之间数字
select *
from tabname
where zjhm='?????'
这样应该OK的,祝你好运了