SQL Server CONVERT() 函数:转换数据类型
SQL Server CONVERT()
函数将一个数据类型的表达式转换为另一个数据类型。
CONVERT()
函数与 CAST() 函数类似,只是多了一个样式参数。CONVERT()
是 SQL Server 特有的,而 CAST()
是 ANSI SQL 函数的一部分,在许多其他数据库中都可用。
建议使用 TRY_CONVERT() 函数而不是 CONVERT()
函数,以最大程度地减少错误。
CONVERT(data_type, expression[, style ])
参数
data_type:您要将指定表达式转换成的目标数据类型。它包括 xml、bigint 和 sql_variant。
expression:您要转换数据类型的任何有效表达式。
style:这是一个可选整数,用于指定 CONVERT()
函数将如何转换给定的表达式。请参阅 数据类型转换样式 的完整列表。
返回值
返回转换为目标数据类型的表达式。
示例 1
在以下示例中,CONVERT()
函数将小数转换为整数。
示例:CONVERT()
SELECT CONVERT(int, 22.56) AS Result;

示例 2
在此示例中,CONVERT()
函数用于以不同样式转换作为字符串传递的日期。如下面的结果所示,样式参数对作为静态字符串传递的日期没有影响。两种样式都以相同的格式返回日期。
示例:CONVERT()
SELECT CONVERT(nvarchar(30), '11/23/2022 10:20:45', 110) AS dateUS,
CONVERT(nvarchar(30), '11/23/2022 10:20:45', 113) AS dateEuro;

在下面的示例中,当前日期作为输入日期传递,并应用日期样式 110(UD 日期格式)、样式 112(ISO 标准)和 113(欧洲日期格式)。
注意:在这里您可以看到当传递日期类型时不同的日期格式。
示例:CONVERT()
SELECT CONVERT (nvarchar(30), GETDATE(), 110) AS USdate,
CONVERT(nvarchar(30), GETDATE(), 112) AS ISODate,
CONVERT(nvarchar(30), GETDATE(), 113) AS Eurodate;

了解更多关于 日期时间样式 的信息。
示例 4
以下将浮点数转换为 varchar 类型。
示例:CONVERT()
SELECT CONVERT (VARCHAR (10), 234.789)
