sql >> Base de Datos >  >> RDS >> Sqlserver

¿Reemplazos eficientes de ISNUMERIC () en SQL Server?

Puede usar las funciones T-SQL TRY_CAST() o TRY_CONVERT() si está ejecutando SQL Server 2012 como menciona Bacon Bits en los comentarios:

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

Si usa SQL 2008 R2 o anterior, tendrá que usar una función .NET CLR y ajustar System.Decimal.TryParse().