SQL Server 的 CAST() 和 CONVERT() 方法可用於將 VARCHAR 轉換為 INT。我們還將研究將值從一種數據類型轉換為另一種數據類型的更高效、更安全的方法。
CAST()
SQL Server 中的 CAST() 函數用於將值或表達式從一種數據類型轉換或轉換為另一種數據類型。
用法:
CAST ( expression AS target_type [ ( length ) ] )
參數:
- expression - 將轉換的任何類型的任何值。
- target_type- 值將轉換為的目標數據類型。例如INT、BIT、SQL_VARIANT 等
- length - 可選參數,指定target_type的長度,默認長度為30。
我們舉個例子,CAST()函數用於將VARCHAR轉換為INT。
詢問:
SELECT CAST('1234' AS INT) AS Result;
輸出:
Convert()
在 SQL Server 中,CONVERT() 函數用於將一種類型的值轉換為另一種類型。改變任何事物都涉及改變其形狀或值。
用法:
SELECT CONVERT ( target_type ( length ), expression )
參數:
- target_type- 表達式將轉換為的數據類型,例如:INT、BIT、SQL_VARIANT 等。
- length - 它提供target_type的長度。長度不是強製性的。默認長度設置為 30。
- expression - 表達式是任何將被轉換的內容。
在下麵的示例中,CONVERT() 函數用於將 VARCHAR 轉換為 INT。
詢問:
SELECT CONVERT(INT,'5678') AS Result;
現在讓我們討論一種更有效的方法,使用 SQL Server 的 TRY_CAST() 和 TRY_CONVERT() 函數將值從一種數據類型轉換為另一種數據類型:
TRY_CAST()
TRY_CAST() 函數嘗試將輸入值轉換為給定數據類型的值。如果轉換成功,則返回提供的數據中的值;否則,返回 NULL。但是,如果您請求無效的轉換,TRY_CAST() 方法將返回錯誤。
用法:
TRY_CAST ( expression AS data_type [ ( length ) ] )
使用的參數:
- data_type:函數將表達式轉換為的有效數據類型。
- expression:要投射的值。
詢問:
SELECT TRY_CAST('1234' as INT) as Result;
詢問:
SELECT TRY_CAST('1234abc' as INT) as Result;
TRY_CONVERT()
TRY_CONVERT() 方法嘗試將提供給它的值轉換為指定的數據類型。如果轉換成功,則返回給定數據的值;否則,返回 NULL。如果您請求明確禁止的轉換,則 TRY CONVERT() 方法將返回錯誤。
用法:
TRY_CONVERT ( data_type[(length)], expression [,style])
使用的參數:
- data_type:函數將表達式轉換為的有效數據類型。
- expression:要投射的值。
- style:是一個提供的整數,指定函數如何轉換表達式。
詢問:
SELECT TRY_CONVERT( INT ,'5678') as Result;
詢問:
SELECT TRY_CONVERT( INT ,'56abc') as Result;
相關用法
- SQL Datetime轉Date用法及代碼示例
- SQL Date轉Datetime用法及代碼示例
- SQL NUMERIC轉NVARCHAR用法及代碼示例
- SQL LTRIM()用法及代碼示例
- SQL UPPER()用法及代碼示例
- SQL RTRIM()用法及代碼示例
- SQL FLOAT轉NVARCHAR用法及代碼示例
- SQL Datetime轉Epoch用法及代碼示例
- SQL Epoch Time轉Date用法及代碼示例
- SQL Datetime轉String用法及代碼示例
- SQL NOT用法及代碼示例
- SQL IN用法及代碼示例
- SQL NOT EQUAL用法及代碼示例
- SQL IS NOT NULL用法及代碼示例
- SQL IS NULL用法及代碼示例
- SQL LIKE用法及代碼示例
- SQL DROP和TRUNCATE的區別用法及代碼示例
- SQL Server CHARINDEX()用法及代碼示例
- SQL Server DIFFERENCE()用法及代碼示例
- SQL Server IIF()用法及代碼示例
- SQL Server ASCII()用法及代碼示例
- SQL Server LOG()用法及代碼示例
- SQL Server LOG10()用法及代碼示例
- SQL Server ATN2()用法及代碼示例
注:本文由純淨天空篩選整理自sanuj8655大神的英文原創作品 SQL Query to Convert VARCHAR to INT。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。