Zac*_*ott 5 sql sql-server numeric-conversion
PRINT CONVERT(NUMERIC(18,0), '')
产生 Error converting data type varchar to numeric.
然而,
PRINT CONVERT(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
Run Code Online (Sandbox Code Playgroud)