打印转换(NUMERIC(18,0), '')
产生将数据类型 varchar 转换为数字时出错。
但是,
打印转换(INT, '')
产生0
,没有错误...
问题:是否有一些 SQL Server 标志用于此目的,或者我需要为每个 varchar 到数字的转换执行 case 语句? (除了明显的原因?)
最佳答案
declare @a varchar(20)
set @a = 'notanumber'
select case when isnumeric(@a) = 0 then 0 else convert(numeric(18,0),@a) end
关于SQL Server CONVERT(NUMERIC(18,0), '' ) 失败但 CONVERT(INT, '' ) 成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1810073/