Fondamentalement, je voudrais une déclaration select qui fonctionnerait comme ça
SELECT * FROM table WHERE column IS NOT INT
Y at-il une condition comme celle-ci ou comment vérifiez-vous les non-entiers dans une colonne nvarchar (10)?
Dans SQL Server
vous pouvez faire:
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
Vous pouvez également utiliser
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*/