sql - 在 SQL Server 中验证数字的最佳方法

标签 sql sql-server sql-server-2005

我知道较新的版本有一个类似于 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/

相关文章:

SqlServer 性能将列从非空更改为空

php - 模式匹配我哪里错了?

android - Sql select 查询创建具有位置值的排行榜

sql-server - MS-SQL 存储过程的历史记录

sql - SQL Server 2005发送邮件

mysql - 如何将 SQL 查询结果转换/复制为 JSON?

MySQL case 新建一个专栏

sql - TCP 提供程序 : The semaphore timeout period has expired

vb.net - 在 VB.NET 中将日期时间转换为等效的十六进制

sql-server - 将 DateTime 转换为 nvarchar,仅月份和年份