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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。