繁体   English   中英

SQL Server 2014-如何选择字段中没有数值的行?

[英]SQL Server 2014 - How to select rows with no numerical values in fields?

我试图找到在电话号码字段中没有任何内容而在EmailAddress字段中没有任何内容的帐户。 但是,当我使用ISNUMERIC函数过滤带有电话号码的记录时,仍然会得到一些带有数字的记录。

我的代码:

SELECT * FROM MyTable
WHERE (ISNUMERIC(DayTimePhone) = 0 OR DayTimePhone IS NULL)
  AND (DayTimePhone NOT LIKE '%[A-Z]%')
  AND ((EMailAddress IS NULL) OR (EMailAddress NOT LIKE '%[A-Z]%'))

我在DayTimePhone字段中得到的数字是:

604.123.1123
(604) 123-1234
(604) 234-5678
(604) 345-6789

您可以使用LEN按列中字符的长度过滤列,并查找那些字段为空的所有记录。 大概是这样吗?

SELECT 
    * 
FROM MyTable
WHERE
    (LEN(ISNULL(DayTimePhone, '')) = 0 OR DayTimePhone IS NULL)
    AND ((EmailAddressIS NULL) OR (LEN(ISNULL(EmailAddress, '')) = 0))

这些值中除了数字以外还有其他字符,因此它们的ISNUMERIC()返回0。您可以进行选择以获取不带特殊字符的值,然后运行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM