我知道较新的版本有一个类似于 c# 的 try parse 方法,但不幸的是我在 2005 年。我知道对验证数字的内置函数的敲门声是它在技术上没有,许多人建议创建一个。
仅使用 try catch block 且 catch block 被视为 false 是否可以接受且有效?即
TRY
CONVERT(decimal(19,2),@value)
END TRY
GO
BEGIN CATCH
--false. Log error (or whatever you want to do)
END CATCH;
GO
最佳答案
嗯,实际上你可以使用否定式 like 表达式来检查值是否为数字。是这样的
select case when numberAsString not like '%[^0-9]%' then 'true' else 'false' end from table t;
关于sql - 在 SQL Server 中验证数字的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31152074/