sqlserver:判斷是否爲數字

方案1:ISNUMERIC

函數
數字類型返回 1 ,非返回 0

select ISNUMERIC ( '.12321' ) isNum;
select ISNUMERIC ( '.123aa21' ) isNum;

1
0

方案2:PATINDEX

正則
數字類型返回0,非返回1

對負數、負小數,暫未研究,後期補上。


select PATINDEX ( '%[^0-9]%' , '12321' );
select PATINDEX ( '%[^0-9]%' , '.12321' );
select PATINDEX ( '%[^0-9]%' , '.123aa21');

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

0
1
1
0

參考資料:

  • https://blog.csdn.net/fox009521/article/details/78918811(該鏈接中,對ISNUMERIC有一點誤解,也可能是該函數被優化過)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章