SELECT * FROM col WHERE name!=\'NULL\'&&名称是一个int-SQL问题

问题描述

| 我有一个现在需要更改的sql语句,因此它只返回返回整数的值。
SELECT * FROM col WHERE name != \'NULL\'
<-这有效 但是现在我需要将其扩展为:
SELECT * FROM col WHERE name != \'NULL\' && name
(是一个整数) 但是我不能为此找出sql。有人有什么想法吗? 非常感谢高级。     

解决方法

        SQL:
SELECT * FROM col WHERE NOT name IS NOT NULL AND name NOT LIKE \'%[^0-9]%\'
要么
SELECT * FROM col WHERE NOT name IS NOT NULL AND ISNUMERIC(name) = 1
警告,ISNUMERIC可能为某些非数字字符(例如+,-或$)返回1 以下是有关ISNUMERIC的更多信息 另外,在SQL中与NULL比较时,必须使用
IS NULL
IS NOT NULL
    ,        对于SQL Server,这是语法:
SELECT * FROM col WHERE NOT name IS NULL AND ISNUMERIC(name) = 1 AND NOT name LIKE \'%.%\'
假设\“。\”用于小数     ,        如果您使用MSSQL,
SELECT * FROM col WHERE name <> \'NULL\' AND IsNumeric(name) = 1