1. 程式人生 > >SQL SERVER 判斷是否數字的方法

SQL SERVER 判斷是否數字的方法

檢測是不是數字型的資料, 兩種方法

1. ISNUMERIC ( expression )

2. PATINDEX ( '%pattern%' , expression )

1. ISNUMERIC ( expression )

如果是數字型別則返回 1 ,不是則返回 0

但ISNUMERIC有時是不可靠的,如果你不允許expression包含有任何字母,則會判斷錯:

如:ISNUMERIC(‘23e4’)返回 1

   ISNUMERIC(‘23d4’)返回 1

2. PATINDEX ( '%pattern%' , expression )

返回值為第一個滿足pattern的位置, 如果沒有滿足的則返回值為0

判斷是否為數字型別

PATINDEX('%[^0-9]%', expression)

返回值為0,則是純數字型別

對於支援小數點和正負數寫法是

PATINDEX('%[^0-9|.|-|+]%', expression)