尝试转换
Version >= SQL Server 2012
它将值转换为指定的数据类型,如果转换失败,则返回 NULL。例如,字符串格式的源值,我们需要日期/整数格式。那么这将有助于我们实现同样的目标。
语法:TRY_CONVERT(data_type [(length)],expression [,style])
如果转换成功,TRY_CONVERT()
返回一个转换为指定数据类型的值; 否则,返回 null。
Data_type - 要转换的数据类型。这里 length 是一个可选参数,有助于获得指定长度的结果。
表达式 - 要转换的值
样式 - 它是一个可选参数,用于确定格式。假设你想要像“May,18 2013”这样的日期格式,那么你需要传递样式为 111。
DECLARE @sampletext AS VARCHAR(10);
SET @sampletext = '123456';
DECLARE @ realDate AS VARCHAR(10);
SET @realDate = '13/09/2015’;
SELECT TRY_CONVERT(INT, @sampletext); -- 123456
SELECT TRY_CONVERT(DATETIME, @sampletext); -- NULL
SELECT TRY_CONVERT(DATETIME, @realDate, 111); -- Sep, 13 2015