我想从表格中选择包含错误社会安全号码的每一行。在这个简单的例子中,社会安全号码必须正好是4个数字,使用数字0-9。该表看起来像这样:
|SSN |Name |Favorite Food|
|1345|Mark |Meatballs |
|1458|Connor|Tacos |
|12 |Lisa |Pizza |
|1487|Clark |Tomato Soup |
|XQXQ|Hans |Sallad |
我想选择没有正确SSN的人的姓名。该查询应该导致 Lisa ,因为她的SSN中只有 2 数字,而 Hans 中写有无效字符。感谢您阅读本文,请找一个好的。
我不知道这有多重要,但我提供了正确的信息,我使用的是MySQL,而SSN的类型是" char"。
答案 0 :(得分:1)
不确定您正在使用哪个数据库,但使用LIKE语句...
select *
from Table
Where SSN not Like '[0-9][0-9][0-9][0-9]'
检查数据库帮助以获取确切的语法
答案 1 :(得分:0)
您可以使用Length
函数来获取char。计数..
select *
from Table
Where LENGTH(SSN)<>4
对于ms-sql使用LEN
答案 2 :(得分:0)
您也可以使用:
SELECT *
FROM Table
WHERE SSN < 1000
OR SSN < 9999
OR UPPER(SSN) <> LOWER(SSN);