SQL Server (Transact-SQL) TRY_CONVERT() 函数尝试将表达式从一种数据类型转换为另一种数据类型。如果转换失败,函数将返回NULL。否则,它将返回转换后的值。
语法
TRY_CONVERT( data_type [ ( length ) ] , expression [ , style ] )
参数
data_type | 必填。 指定要转换为的数据类型。 请参阅SQL Server 的数据类型。 请注意,不能使用 Alias 数据类型。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
length | 可选。 对于允许用户指定长度的数据类型,指定结果数据类型的长度。 默认值为 30。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
expression | 必填。 指定要转换为另一种数据类型的值。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
style |
日期和时间样式对于日期或时间数据类型表达式,样式可以是以下值之一: 日期和时间样式对于日期或时间数据类型表达式,样式可以是以下值之一:
浮点和实数样式对于浮点或实数数据类型表达式,样式可以是以下值之一:
Money 和 SmallMoney 样式对于 Money 和 SmallMoney 数据类型表达式,样式可以是以下值之一:
|
返回值
返回表达式i> 转换为另一种data_type。
转换为 INT
TRY_CONVERT() 函数可用于转换值为 INT 类型。例如 - 在下面的示例中,123.456 转换为 INT 数据类型。
SELECT TRY_CONVERT(INT, 123.456);
Result: 123
转换为 DECIMAL
TRY_CONVERT() 函数可用于转换DECIMAL 类型的值。例如 - 在下面的示例中,"123.456"转换为 DECIMAL 数据类型。
SELECT TRY_CONVERT(DECIMAL(5, 2), '123.456');
Result: 123.46
转换为 CHAR
可以使用 TRY_CONVERT() 函数将值转换为 CHAR 类型。例如 - 在下面的示例中,123 被转换为 CHAR 数据类型。
SELECT TRY_CONVERT(CHAR(4), 123);
Result: '123'
转换为 NCHAR
TRY_CONVERT() 函数可用于转换NCHAR 类型的值。例如 - 在下面的示例中,123 被转换为 NCHAR 数据类型。
SELECT TRY_CONVERT(NCHAR(10), 123);
Result: '123'
转换为 VARCHAR
TRY_CONVERT() 函数可用于转换VARCHAR 类型的值。例如 - 在下面的示例中,123 被转换为 VARCHAR 数据类型。
SELECT TRY_CONVERT(VARCHAR, 123);
Result: '123'
转换为 DATE
TRY_CONVERT() 函数可用于转换DATE 类型的值。例如,在下面的示例中,"2018-08-18"将转换为 DATE 数据类型。
SELECT TRY_CONVERT(DATE, '2018-08-18');
Result: '2018-08-31'
转换为 TIME
TRY_CONVERT()函数可用于将值转换为 TIME 类型。例如 - 在下面的示例中,"10:38:42"被转换为 TIME 数据类型。
SELECT TRY_CONVERT(TIME, '10:38:42');
Result: '10:38:42'
转换为 DATETIME
TRY_CONVERT()函数可用于将值转换为 DATETIME 类型。例如 - 在下面的示例中,"2018-08-18 10:38:42"被转换为 DATETIME 数据类型。
SELECT TRY_CONVERT(DATETIME, '2018-08-18 10:38:42', 101);
Result: '2018-08-18 10:38:42'