在 SQL Server 中,您可以使用内置的函数来执行类似的逻辑。以下是在 SQL Server 中判断字符串是否为数字的几种方法:
使用 ISNUMERIC 函数:
sql
DECLARE @value VARCHAR(50) = '123';
IF ISNUMERIC(@value) = 1
BEGIN
-- 字符串是一个数字
END
使用正则表达式(通过 LIKE 运算符):
sql
DECLARE @value VARCHAR(50) = '123';
IF @value LIKE '%[^0-9]%'
BEGIN
-- 字符串不是一个数字
END
使用PATINDEX()函数
SELECT
CASE WHEN PATINDEX('%[^0-9]% ', YourColumn) = 0 THEN '是数字' ELSE '不是数字' END AS Result
FROM YourTable;
使用 TRY_CAST 或 TRY_CONVERT 函数(适用于 SQL Server 2012 或更高版本):
sql
TRY_CAST(column_name AS data_type)
TRY_CONVERT(data_type, column_name)
DECLARE @value VARCHAR(50) = '123';
IF TRY_CAST(@value AS INT) IS NOT NULL
BEGIN
-- 字符串是一个数字
END
在SQLServer中判断字符串是否为数字的方法
文章介绍了在SQLServer中检查字符串是否全由数字组成的几种方法,包括使用ISNUMERIC函数、正则表达式(LIKE运算符)、PATINDEX()函数以及针对SQLServer2012及以上版本的TRY_CAST或TRY_CONVERT函数。
1200

被折叠的 条评论
为什么被折叠?



