SQL Server 函数

SQL Server (Transact-SQL) CAST() 函数将表达式从一种数据类型转换为另一种数据类型。如果转换失败,函数将返回错误。否则,它将返回转换后的值。

注意:使用TRY_CAST() 函数在转换失败时返回 NULL(而不是错误)。

语法

CAST(expression AS data_type [ ( length ) ]) 

参数

expression 必填。 指定要转换为另一种数据类型的值。
data_type必需。 指定要转换为的数据类型。请参阅SQL Server 的数据类型。请注意,不能使用 Alias 数据类型。
length可选。 对于允许用户指定长度的数据类型,指定结果数据类型的长度。默认值为 30。

返回值

返回转换为另一种数据类型。

转换为 INT

CAST() 函数可用于将值转换为 INT 类型。例如 - 在下面的示例中,123.456 被转换为 INT 数据类型。

SELECT CAST(123.456 AS INT);
Result: 123 

转换为 DECIMAL

CAST() 函数可用于转换DECIMAL 类型的值。例如 - 在下面的示例中,"123.456"转换为 DECIMAL 数据类型。

SELECT CAST('123.456' AS DECIMAL(5, 2));
Result: 123.46 

转换为 CHAR

可以使用 CAST() 函数将值转换为 CHAR 类型。例如 - 在下面的示例中,123 被转换为 CHAR 数据类型。

SELECT CAST(123 AS CHAR(4));
Result: '123' 

转换为 NCHAR

CAST() 函数可用于转换NCHAR 类型的值。例如 - 在下面的示例中,123 被转换为 NCHAR 数据类型。

SELECT CAST(123 AS NCHAR(10));
Result: '123' 

转换为 VARCHAR

CAST() 函数可用于转换VARCHAR 类型的值。例如 - 在下面的示例中,123 被转换为 VARCHAR 数据类型。

SELECT CAST(123 AS VARCHAR);
Result: '123' 

转换为 DATE

CAST() 函数可用于转换DATE 类型的值。例如 - 在下面的示例中,"2018-08-18"被转换为 DATE 数据类型。

SELECT CAST('2018-08-18' AS DATE);
Result: '2018-08-31' 

转换为 TIME

CAST()函数可用于将值转换为 TIME 类型。例如 - 在下面的示例中,"10:38:42"被转换为 TIME 数据类型。

SELECT CAST('10:38:42' AS TIME);
Result: '10:38:42' 

转换为 DATETIME

CAST()函数可用于将值转换为 DATETIME 类型。例如 - 在下面的示例中,"2018-08-18 10:38:42"被转换为 DATETIME 数据类型。

SELECT CAST('2018-08-18 10:38:42' AS DATETIME);
Result: '2018-08-18 10:38:42'