MS-SQL中判断字段为 0-9的阿拉伯数字
在存储过程中定义如下:
...
DECLARE @TELNO AS NVARCHAR(100)
SET @TELNO = '-123,5.67 '
PRINT ISNUMERIC (@TELNO)
------------------
1
用ISNUMERIC可以检查是否为数字,但我想检查是不是0-9的阿拉伯数字
该怎么处理?
[解决办法]
DECLARE @TELNO AS NVARCHAR(100)
SET @TELNO = '-123,5.67 '
--仅以 + , - . 四符号为例
if charindex( '- ',@telno) > 0 or charindex( '+ ',@telno) > 0 or charindex( '. ',@telno) > 0 or charindex( ', ',@telno) > 0
print '包含其他符号 '
else
print '仅 0-9 '
[解决办法]
DECLARE @TELNO AS NVARCHAR(100)
SET @TELNO = '434.3 '
IF patindex( '%[^0-9]% ',@TELNO)> 0
PRINT 'False '
ELSE
PRINT 'Ok '