Nik*_*las 16 sql sql-server conditional-statements
基本上我想要一个像这样运行的select语句
SELECT *
FROM table
WHERE column IS NOT INT
Run Code Online (Sandbox Code Playgroud)
是否有这样的条件或如何检查nvarchar(10)列中的非整数?
Qua*_*noi 14
在SQL Server你可以做:
SELECT *
FROM mytable
WHERE CASE WHEN IsNumeric(mycolumn) = 1 THEN CASE WHEN CAST(mycolumn AS FLOAT) <> CAST(CAST(mycolumn AS FLOAT) AS INT) THEN 1 END ELSE 1 END = 1
Run Code Online (Sandbox Code Playgroud)
Mar*_*ith 11
你也可以用
SELECT *
FROM T
WHERE C = ''
OR C LIKE '%[^0-9-]%' /*Contains a char other than - or 0-9*/
OR C LIKE '_%-%' /*Contains the - char other than 1st position*/
Run Code Online (Sandbox Code Playgroud)