📜  将 VARCHAR 转换为 INT 的 SQL 查询

📅  最后修改于: 2022-05-13 01:55:42.962000             🧑  作者: Mango

将 VARCHAR 转换为 INT 的 SQL 查询

SQL Server 的 CAST() 和 CONVERT() 方法可用于将 VARCHAR 转换为 INT。我们还将研究将值从一种数据类型转换为另一种数据类型的更有效和更安全的方法。

投掷()

SQL Server 中的CAST()函数用于将值或表达式从一种数据类型转换或转换为另一种数据类型。

句法 :

CAST ( expression AS target_type [ ( length ) ] )

参数:

  • 表达式- 将被转换的任何类型的任何值。
  • target_type – 值将转换为的目标数据类型。例如 INT、BIT、SQL_VARIANT 等。
  • length – 可选参数,指定 target_type 的长度,默认长度为 30。

让我们举一个例子,其中使用 CAST()函数将 VARCHAR 转换为 INT。

询问:

SELECT CAST('1234' AS INT) AS Result;

输出:

转变()

在 SQL Server 中, CONVERT()函数用于将一种类型的值转换为另一种类型。转换任何东西都涉及改变其形状或价值。

句法 :

SELECT CONVERT ( target_type ( length ), expression )  

参数

  • target_type – 表达式将转换为的数据类型,例如:INT、BIT、SQL_VARIANT 等。
  • length – 它提供了 target_type 的长度。长度不是强制性的。默认长度设置为 30。
  • 表达式- 表达式是任何将被转换的东西。

在下面的示例中,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:函数将表达式转换为的有效数据类型。
  • 表达式:要转换的值。

询问:

SELECT TRY_CAST('1234' as INT) as Result;

询问:

SELECT TRY_CAST('1234abc' as INT) as Result;

尝试转换()

TRY_CONVERT()方法尝试将提供给它的值转换为指定的数据类型。如果转换成功,则将值作为给定数据返回;否则,它返回 NULL。如果您请求明确禁止的转换,则 TRY CONVERT() 方法将返回错误。

句法 :

TRY_CONVERT ( data_type[(length)], expression [,style])

使用的参数:

  • data_type:函数将表达式转换为的有效数据类型。
  • 表达式:要转换的值。
  • style:是一个提供的整数,它指定函数将如何翻译表达式。

询问:

SELECT TRY_CONVERT( INT ,'5678') as Result;

询问:

SELECT TRY_CONVERT( INT ,'56abc') as Result;