You use Microsoft SQL Server 2012 to develop a database application.
Your application sends data to an NVARCHAR(MAX) variable named @var.
You need to write a Transact-SQL statement that will find out the success of a cast to a decimal
(36,9).
Which code segment should you use?
A.
BEGIN TRY
SELECT convert(decimal(36,9), @var) AS Value, ‘True’ AS BadCast
END TRY
BEGIN CATCH
SELECT convert(decimal(36,9), @var) AS Value, ‘False’ AS BadCast
END CATCH
B.
TRY(
SELECT convert(decimal(36,9), @var)
SELECT ‘True’ AS BadCast
)
CATCH(
SELECT ‘False’ AS BadCast
)
C.
SELECT
CASE
WHEN convert(decimal(36,9), @var) IS NULL
THEN ‘True’
ELSE ‘False’
END
AS BadCast
D.
SELECT
IIF(TRY_PARSE(@var AS decimal(36,9)) IS NULL, ‘True’, ‘False’)
AS BadCast
Explanation:
http://msdn.microsoft.com/en-us/library/hh213126.aspx