检测是不是数字型的数据, 两种方法

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)

posted on 2013-05-02 18:32  代岳强  阅读(2351)  评论(0编辑  收藏  举报