SQL server判断是否为数字

select PATINDEX('%[^0-9|.|-|+]%','123.4');

是就返回0不是就返回1或者其他的数字

PATINDEX简析:

1.类似于sql里面的like用法,%%匹配到指定表达式里的位置,一个都没有找到就返回0找到了就返回所在位置如:select PATINDEX('%2%','123.4');这里会返回2,因为2在123.4里面所处的位置是第二位。

2.select PATINDEX('2%','123.4');

意思是从左边开始找,找到了返回1找不到返回0,不管后面有没有

3.select PATINDEX('%2','123.4');

从右边开始找,找到了返回1找不到返回0

4.select PATINDEX('123.4','123.4');

精确查找,必须全部相同,找到了返回1,找不到返回0

5.select PATINDEX('%[23]%','123.4');

返回2或3第一次出现的位置,这里返回2,因为2在123.4中的位置是第二个

6.select PATINDEX('%[^1]%','123.4');

这里返回2,因为在123.4中最先不等于1的是第二个位置

7.select PATINDEX('%[^3]%','123.4');

这里返回1,因为123.4中第一个值就不等于3

8.select PATINDEX('%[^0-9]%','1234');

这里返回0,因为除了0-9的任何字符在1234中找不到,1234全部都是数字

9.select PATINDEX('%[0-9]%','1234');

这里返回1,因为在1234中第一个就是数字

10.select PATINDEX('%[^0-9|.]%','1234.4');

这里返回0,[^0-9|.]表达式为0-9的数字或.在123.4中不存在情况,这里存在0-9和.所以返回0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值