sql >> Databasteknik >  >> RDS >> Sqlserver

Effektiva ISNUMERIC()-ersättningar på SQL Server?

Du kan använda T-SQL-funktionerna TRY_CAST() eller TRY_CONVERT() om du kör SQL Server 2012 som Bacon Bits nämner i kommentarerna:

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

Om du använder SQL 2008 R2 eller äldre måste du använda en .NET CLR-funktion och radbryta System.Decimal.TryParse().



  1. JSON_ARRAYAGG() – Skapa en JSON-array från raderna i en fråga i MySQL

  2. Implementering av failover i MS SQL Server 2017 Standard

  3. Grunderna i SQL Server Transaction Log

  4. Hur man får dagnamnet från ett datum i Oracle