Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Sostituzioni ISNUMERIC() efficienti su SQL Server?

È possibile utilizzare le funzioni T-SQL TRY_CAST() o TRY_CONVERT() se si esegue SQL Server 2012 come menzionato da Bacon Bits nei commenti:

SELECT CASE WHEN TRY_CAST('foo' AS INT) IS NULL THEN 0 ELSE 1 END

SELECT CASE WHEN TRY_CAST(1 AS INT) IS NULL THEN 0 ELSE 1 END

Se stai utilizzando SQL 2008 R2 o versioni precedenti, dovrai utilizzare una funzione CLR .NET e avvolgere System.Decimal.TryParse().