sql判斷是否數字
Ⅰ sql判斷是否為數字
不知道樓主的意思是不是要判斷一個欄位是否為純數字還是說是否包含數字?
可以用oracle自帶的正則表達式函數regexp_replace把數字全部取出來,然後計算數字的長度是否等於這個欄位的長度,如果等於的話說明這個值全部是數字,如果不等於的話說明值裡麵包含非數字,測試語句如下:
select(regexp_replace('lss12345',
'[^0-9]'))
from
al;---取出值裡面的全部數字
select
length('lss12345'),length(regexp_replace('lss12345',
'[^0-9]'))
from
al;
---查詢出欄位的長度和欄位內數字的長度
select*
from
al
where
length('lss12345')
=
length(regexp_replace('lss12345',
'[^0-9]'))
;
----查詢這個欄位所有的純數字列
Ⅱ SQL Server檢測是不是數字類型的函數
ISNUMERIC
確定表達式是否為一個有效的數字類型。
語法
ISNUMERIC ( expression )
參數
expression
要計算的表達式。
返回類型
int
注釋
當輸入表達式得數為一個有效的整數、浮點數、money 或 decimal 類型,那麼 ISNUMERIC 返回 1;否則返回 0。返回值為 1 確保可以將 expression 轉換為上述數字類型中的一種。
但是此函數存在Bug,就是'234a2342'同樣會認為是數字類型
可以替代的寫法是
PATINDEX('%[^0-9]%', @s)
如果返回值等於0,則是純數字型(沒有0~9之外的字元)。
對於支持小數點和正負數寫法是
PATINDEX('%[^0-9|.|-|+]%',@s)
Ⅲ 怎樣判斷sql字元串中是否包含數字和字母
判斷是否含有字母
select PATINDEX('%[A-Za-z]%', 『ads23432')=0
(如果存在字母,結果>1)
判斷是否含有數字
PATINDEX('%[0-9]%', 『234sdf')=0
(如果存在數字,結果>1)
Ⅳ SQL中如何查詢欄位中是否包含指定數字
where條件這樣寫試試
wherenumlike'1,%'ornumlike'%,1,%'ornumlike'%,1'
Ⅳ sql oracle 判斷為數字
SELECT*FROMITABWHEREISNUMERIC(FIELDNAME)>0
函數ISNUMERIC(col1)>0是判斷欄位值是否是數值的函數,若是整數、浮點等數字返回是「1」
Ⅵ sql語句如何判斷欄位是否為數字
sql語句判斷欄位是否為數字可以參考下面的例子:
select * from biao where isnumeric(zian)=0 查非數回字答
select * from biao where isnumeric(zian)=1 查純數字
(6)sql判斷是否數字擴展閱讀:
SQL參考語句
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
Ⅶ SQL:判斷文本類型的字元是否為數字,是的話將其轉換為數值型返回
where isnumeric(欄位1)=1加上條件
或是全顯示為字元
Ⅷ Sql server 判斷某欄位是數字
ISNUMERIC(expression)
如果輸入表達式的計算值為有效的整數、浮點數、money 或 decimal 類型時,ISNUMERIC 返回 1;否則返回 0。
Ⅸ sql 判斷是否為數字
不知道你是什麼資料庫啊。
以後你要詢問有關資料庫函數的問題, 最好明確說明一下啊。
Oracle 通過正則表達式判斷, 字元串是否是數字。
可以使用正則表達式的方式來判斷。
REGEXP_LIKE( 欄位 , '(^[+-]?\d{0,}\.?\d{0,}$)'
來判斷 是否是數字