CAST with error handling

by Ivan Gerasimenko

JavaScript

DECLARE @test AS TABLE
(
	[Val] NVARCHAR(255)
);

INSERT INTO @test VALUES ('123');
INSERT INTO @test VALUES ('0');
INSERT INTO @test VALUES ('NULL');
INSERT INTO @test VALUES ('');
INSERT INTO @test VALUES (NULL);

SELECT 
	CASE
		WHEN ISNUMERIC([Val]) = 1 
		THEN CAST([Val] AS INT)
		ELSE NULL
	END AS [Int value]
FROM @test;