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_2512060922055921350 AS INT) AS SafeIntConversion,
TRY_CAST (@pMAIN_2512060922055921351 AS BIGINT) AS SafeBigIntConversion,
TRY_CAST (@pMAIN_2512060922055921352 AS MONEY) AS SafeMoneyResult,
CASE WHEN TRY_CAST (@pMAIN_2512060922055921353 AS INT) IS NULL THEN @pMAIN_2512060922055921354 ELSE @pMAIN_2512060922055921355 END AS CaseResult,
TRY_CAST (@pMAIN_2512060922055921356 AS INT) AS SafeIntResult,
TRY_CAST (@pMAIN_2512060922055921357 AS INT) AS SafeOtherIntResult,
TRY_CAST (GETDATE() AS TIME) AS SafeTimeResult,
TRY_CAST (GETDATE() AS VARCHAR (22)) AS SafeDateTimeResult,
TRY_CAST (@pMAIN_2512060922055921358 AS DECIMAL (6, 2)) AS SafeDecimalResult;
Parameters (If used)
| Name |
Value |
| @pMAIN_2512060922055921350 |
21474836480 |
| @pMAIN_2512060922055921351 |
21474836480 |
| @pMAIN_2512060922055921352 |
12345 |
| @pMAIN_2512060922055921353 |
QWERTY |
| @pMAIN_2512060922055921354 |
CastFailed |
| @pMAIN_2512060922055921355 |
CastSucceeded |
| @pMAIN_2512060922055921356 |
ZXCVBNMM |
| @pMAIN_2512060922055921357 |
112233.4455 |
| @pMAIN_2512060922055921358 |
123.45 |
Query Results 1:
| |
SafeIntConversion |
SafeBigIntConversion |
SafeMoneyResult |
CaseResult |
SafeIntResult |
SafeOtherIntResult |
SafeTimeResult |
SafeDateTimeResult |
SafeDecimalResult |
| 1 |
|
21474836480
|
12345.0000
|
CastFailed
|
|
112233
|
09:22:05.5900000
|
12/6/2025 9:22:00 AM
|
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_2512060922056043740 AS MONEY) AS PriceWithTax
FROM Products AS p;
Parameters (If used)
| Name |
Value |
| @pMAIN_2512060922056043740 |
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
|