TRY_CAST SQL function


1. Various usage of TRY_CAST.

SQL Server Query 1

            
SELECT TRY_CAST('21474836480' AS INT) AS SafeIntConversion,   
TRY_CAST('21474836480' AS BIGINT) AS SafeBigIntConversion,
TRY_CAST('12345' AS MONEY) AS SafeMoneyResult,
CASE WHEN TRY_CAST('QWERTY' AS INT) IS NULL
THEN 'CastFailed' ELSE 'CastSucceeded' END AS CaseResult,
TRY_CAST('ZXCVBNMM' AS INT) AS SafeIntResult,
TRY_CAST(112233.4455 AS INT) AS SafeOtherIntResult,
TRY_CAST(GETDATE() AS TIME) SafeTimeResult,
TRY_CAST(GETDATE() AS VARCHAR(22)) AS SafeDateTimeResult,
TRY_CAST('123.45' AS DECIMAL(6, 2)) AS SafeDecimalResult;

Create SQL query with SqlQueryBuilder 1

            
var (sql1, parameters1) = new SqlQueryBuilder()  
.Select()
.Column(new TRY_CAST("21474836480", SqlDataType.INT), "SafeIntConversion")
.Column(new TRY_CAST("21474836480", SqlDataType.BIGINT), "SafeBigIntConversion")
.Column(new TRY_CAST("12345", SqlDataType.MONEY), "SafeMoneyResult")
.Column(new CASE().When(new IS_NULL(new TRY_CAST("QWERTY", SqlDataType.INT)))
.Then("CastFailed").Else("CastSucceeded"), "CaseResult")
.Column(new TRY_CAST("ZXCVBNMM", SqlDataType.INT), "SafeIntResult")
.Column(new TRY_CAST(112233.4455, SqlDataType.INT), "SafeOtherIntResult")
.Column(new TRY_CAST(new GETDATE(), SqlDataType.TIME), "SafeTimeResult")
.Column(new TRY_CAST(new GETDATE(), SqlDataType.VARCHAR, "22"),"SafeDateTimeResult")
.Column(new TRY_CAST(123.45, SqlDataType.DECIMAL, Tuple.Create(6, 2)), "SafeDecimalResult")
.Build();

Query build by SqlQueryBuilder 1

            
SELECT TRY_CAST (@pMAIN_2507192027003037720 AS INT) AS SafeIntConversion,
       TRY_CAST (@pMAIN_2507192027003037721 AS BIGINT) AS SafeBigIntConversion,
       TRY_CAST (@pMAIN_2507192027003037722 AS MONEY) AS SafeMoneyResult,
       CASE WHEN TRY_CAST (@pMAIN_2507192027003037723 AS INT) IS NULL THEN @pMAIN_2507192027003037724 ELSE @pMAIN_2507192027003037725 END AS CaseResult,
       TRY_CAST (@pMAIN_2507192027003037726 AS INT) AS SafeIntResult,
       TRY_CAST (@pMAIN_2507192027003037727 AS INT) AS SafeOtherIntResult,
       TRY_CAST (GETDATE() AS TIME) AS SafeTimeResult,
       TRY_CAST (GETDATE() AS VARCHAR (22)) AS SafeDateTimeResult,
       TRY_CAST (@pMAIN_2507192027003037728 AS DECIMAL (6, 2)) AS SafeDecimalResult;


            
        

Parameters (If used)

Name Value
@pMAIN_2507192027003037720 21474836480
@pMAIN_2507192027003037721 21474836480
@pMAIN_2507192027003037722 12345
@pMAIN_2507192027003037723 QWERTY
@pMAIN_2507192027003037724 CastFailed
@pMAIN_2507192027003037725 CastSucceeded
@pMAIN_2507192027003037726 ZXCVBNMM
@pMAIN_2507192027003037727 112233.4455
@pMAIN_2507192027003037728 123.45

Query Results 1:

  SafeIntConversion SafeBigIntConversion SafeMoneyResult CaseResult SafeIntResult SafeOtherIntResult SafeTimeResult SafeDateTimeResult SafeDecimalResult
1 21474836480 12345.0000 CastFailed 112233 20:27:00.2966667 7/19/2025 8:27:00 PM 123.45


2. Usage of TRY_CAST to show product price with tax.

SQL Server Query 2

            
SELECT  
p.ProductName,
p.UnitPrice,
TRY_CAST(p.UnitPrice * 1.10 AS MONEY) AS PriceWithTax
FROM Products p;

Create SQL query with SqlQueryBuilder 2

            
var (sql2, parameters2) = new SqlQueryBuilder()  
.Select()
.Columns("p.ProductName","p.UnitPrice")
.Column(new TRY_CAST(new ColumnArithmatic("p.UnitPrice").MULTIPLY(1.10), SqlDataType.MONEY), "PriceWithTax")
.From("Products", "p")
.Build();

Query build by SqlQueryBuilder 2

            
SELECT p.ProductName,
       p.UnitPrice,
       TRY_CAST (p.UnitPrice * @pMAIN_2507192027003132930 AS MONEY) AS PriceWithTax
FROM Products AS p;


            
        

Parameters (If used)

Name Value
@pMAIN_2507192027003132930 1.1

Query Results 2:

  ProductName UnitPrice PriceWithTax
1 Chai 18.0000 19.8000
2 Chang 19.0000 20.9000
3 Aniseed Syrup 10.0000 11.0000
4 Chef Anton's Cajun Seasoning 22.0000 24.2000
5 Chef Anton's Gumbo Mix 21.3500 23.4850
6 Grandma's Boysenberry Spread 25.0000 27.5000
7 Uncle Bob's Organic Dried Pears 30.0000 33.0000
8 Northwoods Cranberry Sauce 40.0000 44.0000
9 Mishi Kobe Niku 97.0000 106.7000
10 Ikura 31.0000 34.1000
11 Queso Cabrales 21.0000 23.1000
12 Queso Manchego La Pastora 38.0000 41.8000
13 Konbu 6.0000 6.6000
14 Tofu 23.2500 25.5750
15 Genen Shouyu 15.5000 17.0500
16 Pavlova 17.4500 19.1950
17 Alice Mutton 39.0000 42.9000
18 Carnarvon Tigers 62.5000 68.7500
19 Teatime Chocolate Biscuits 9.2000 10.1200
20 Sir Rodney's Marmalade 81.0000 89.1000
21 Sir Rodney's Scones 10.0000 11.0000
22 Gustaf's Knäckebröd 21.0000 23.1000
23 Tunnbröd 9.0000 9.9000
24 Guaraná Fantástica 4.5000 4.9500
25 NuNuCa Nuß-Nougat-Creme 14.0000 15.4000
26 Gumbär Gummibärchen 31.2300 34.3530
27 Schoggi Schokolade 43.9000 48.2900
28 Rössle Sauerkraut 45.6000 50.1600
29 Thüringer Rostbratwurst 123.7900 136.1690
30 Nord-Ost Matjeshering 25.8900 28.4790
31 Gorgonzola Telino 12.5000 13.7500
32 Mascarpone Fabioli 32.0000 35.2000
33 Geitost 2.5000 2.7500
34 Sasquatch Ale 14.0000 15.4000
35 Steeleye Stout 18.0000 19.8000
36 Inlagd Sill 19.0000 20.9000
37 Gravad lax 26.0000 28.6000
38 Côte de Blaye 263.5000 289.8500
39 Chartreuse verte 18.0000 19.8000
40 Boston Crab Meat 18.4000 20.2400
41 Jack's New England Clam Chowder 9.6500 10.6150
42 Singaporean Hokkien Fried Mee 14.0000 15.4000
43 Ipoh Coffee 46.0000 50.6000
44 Gula Malacca 19.4500 21.3950
45 Rogede sild 9.5000 10.4500
46 Spegesild 12.0000 13.2000
47 Zaanse koeken 9.5000 10.4500
48 Chocolade 12.7500 14.0250
49 Maxilaku 20.0000 22.0000
50 Valkoinen suklaa 16.2500 17.8750
51 Manjimup Dried Apples 53.0000 58.3000
52 Filo Mix 7.0000 7.7000
53 Perth Pasties 32.8000 36.0800
54 Tourtière 7.4500 8.1950
55 Pâté chinois 24.0000 26.4000
56 Gnocchi di nonna Alice 38.0000 41.8000
57 Ravioli Angelo 19.5000 21.4500
58 Escargots de Bourgogne 13.2500 14.5750
59 Raclette Courdavault 55.0000 60.5000
60 Camembert Pierrot 34.0000 37.4000
61 Sirop d'érable 28.5000 31.3500
62 Tarte au sucre 49.3000 54.2300
63 Vegie-spread 43.9000 48.2900
64 Wimmers gute Semmelknödel 33.2500 36.5750
65 Louisiana Fiery Hot Pepper Sauce 21.0500 23.1550
66 Louisiana Hot Spiced Okra 17.0000 18.7000
67 Laughing Lumberjack Lager 14.0000 15.4000
68 Scottish Longbreads 12.5000 13.7500
69 Gudbrandsdalsost 36.0000 39.6000
70 Outback Lager 15.0000 16.5000
71 Flotemysost 21.5000 23.6500
72 Mozzarella di Giovanni 34.8000 38.2800
73 Röd Kaviar 15.0000 16.5000
74 Longlife Tofu 10.0000 11.0000
75 Rhönbräu Klosterbier 7.7500 8.5250
76 Lakkalikööri 18.0000 19.8000
77 Original Frankfurter grüne Soße 13.0000 14.3000