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'