sql判斷字元是否數字
㈠ sql:判斷文本類型的字元是否為數字,是的話將其轉換為數值型返回
where isnumeric(欄位1)=1加上條件
或是全顯示為字元
㈡ oracle 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 判斷是否為數字
不知道你是什麼資料庫啊。
以後你要詢問有關資料庫函數的問題, 最好明確說明一下啊。
Oracle 通過正則表達式判斷, 字元串是否是數字。
可以使用正則表達式的方式來判斷。
REGEXP_LIKE( 欄位 , '(^[+-]?\d{0,}\.?\d{0,}$)'
來判斷 是否是數字
㈣ oracle判斷字元串是否為數字
用正則表達式:
ORACLE查出列為純數字的值:
SELECT* FROM DUAL WHERE LENGTH('LSS12345') = LENGTH(REGEXP_REPLACE('LSS12345', '[^0-9]'))
㈤ sql判斷一個字元串是否是數字
如果是ORACLE,可以:
select translate(str,'x1234567890','x') from al,如果得到的是空則是數字,如果不是空,則是帶字元串的。
㈥ mysql 判斷字元是不是數字
DELIMITER$$
DROPFUNCTIONIFEXISTS`IsNum`$$
CREATEFUNCTION`IsNum`(strVARCHAR(25))RETURNSINT
BEGIN
DECLAREiResultINTDEFAULT0;
IFISNULL(str)THENreturn0;ENDIF;--NULL字元串
IFstr=''THENreturn0;ENDIF;--空字元串
SELECTstrREGEXP'^[0-9]*$'INTOiResult;
IFiResult=1THEN
RETURN1;
ELSE
RETURN0;
ENDIF;
END$$
DELIMITER;
關於delimiter的說明請查看文檔MySQL中函數定義中delimiter的說明
這個函數用來判斷給定的字元串是否為函數,用法示例:
selectIsNum('12');--結果為1
selectIsNum('12-');--結果為0
selectIsNum(說明)fromTABLE_XX
㈦ 怎樣判斷sql字元串中是否包含數字和字母
判斷是否含有字母
select PATINDEX('%[A-Za-z]%', 『ads23432')=0
(如果存在字母,結果>1)
判斷是否含有數字
PATINDEX('%[0-9]%', 『234sdf')=0
(如果存在數字,結果>1)
㈧ 怎麼用SQL判斷欄位值是否為字元或者數字
在不改變你SQL的基礎上再加一個 LEFT(col1,1)<>'-'
select * from tb
where
ISNUMERIC(col1)>0 and LEFT(col1,1)<>'-'
---
ISNUMERIC(col1)>0這個本身就將資料過濾為只有數字(正數或負數,沒有你說的其他符號了),在其基礎上再將負數的情況過濾掉就OK了
㈨ SQL判斷一個欄位里是不是有字母、符號、數字
USE 資料庫名
ALTER TABLE 表名
ADD CONSTRAINT CK_INT CHECK(欄位名 LIKE '%[0-9]%'), --約束為數字
CONSTRAINT CK_CHAR CHECK (欄位名 NOT LIKE '[0-9]') --約束為字元
在SQL SERVER2000測試通過