27,581
社区成员
发帖
与我相关
我的任务
分享--给你个参考
SELECT * FROM TB WHERE PATINDEX('%[^0-9]%',col)=0DECLARE @i NVARCHAR(MAX)=''
WHILE DATALENGTH(@i) <=15999 --测试了一下,长度到16000的时候就报错了。
BEGIN
SET @i =@i+'a'
END
--PRINT @i
SELECT ISNUMERIC(@i)
推荐一个思路
SELECT REPLACE(REPLACE(REPLACE(string,'0',''),'1',''),'2','') --replace 所有的数字,还有空格,如果剩余的字符串,长度为0(datalength 来判定),则为纯数字。
参考