oraclesql判斷是否數字

2022-03-05 02:09:26 字數 2696 閱讀 1054

1樓:貿浚牟夏容

可以用oracle自帶的正規表示式函式regexp_replace把數字全部取出來,然後計算數字的長度是否等於這個欄位的長度,如果等於的話說明這個值全部是數字,如果不等於的話說明值裡面包含非數字,測試語句如下:

select(regexp_replace('lss12345','[^0-9]'))

from

dual;---取出值裡面的全部數字

select

length('lss12345'),length(regexp_replace('lss12345',

'[^0-9]'))

from

dual;

---查詢出欄位的長度和欄位內數字的長度

select*

from

dual

where

length('lss12345')

=length(regexp_replace('lss12345','[^0-9]'))

;----查詢這個欄位所有的純數字列

2樓:韓福潔

不知道樓主的意思是不是要判斷一個欄位是否為純數字還是說是否包含數字?

可以用oracle自帶的正規表示式函式regexp_replace把數字全部取出來,然後計算數字的長度是否等於這個欄位的長度,如果等於的話說明這個值全部是數字,如果不等於的話說明值裡面包含非數字,測試語句如下:

select(regexp_replace('lss12345', '[^0-9]')) from dual;---取出值裡面的全部數字

select length('lss12345'),length(regexp_replace('lss12345', '[^0-9]')) from dual; ---查詢出欄位的長度和欄位內數字的長度

select* from dual where length('lss12345') = length(regexp_replace('lss12345', '[^0-9]')) ; ----查詢這個欄位所有的純數字列

3樓:小狂中

判斷字串中全是數字,很多辦法,自己寫函式迴圈判斷,正規表示式判斷,我自己覺得這個可能效率比較高 length( replace('023232','0123456789',''))=0,不過你得測一下

4樓:匿名使用者

可以使用正規表示式的方式來判斷。

regexp_like( 欄位 , '(^[+-]?\d\.?\d$)'

來判斷 是否是數字

sql> select null

2 from dual

3 where regexp_like(null,'(^[+-]?\d\.?\d$)');

未選定行

sql>

sql> select 'abc'

2 from dual

3 where regexp_like('abc','(^[+-]?\d\.?\d$)');

未選定行

sql>

sql> select '100'

2 from dual

3 where regexp_like('100','(^[+-]?\d\.?\d$)');

'10---

100sql>

sql> select '-100'

2 from dual

3 where regexp_like('-100','(^[+-]?\d\.?\d$)');

'-10

----

-100

sql>

sql> select '.01'

2 from dual

3 where regexp_like('.01','(^[+-]?\d\.?\d$)');

'.0---

.01sql>

sql> select '1995-10-1'

2 from dual

3 where regexp_like('1995-10-1','(^[+-]?\d\.?\d$)');

未選定行

sql>

sql> select '1/20/95'

2 from dual

3 where regexp_like('1/20/95','(^[+-]?\d\.?\d$)');

未選定行

利用sql 寫一個正規表示式 判斷 是否為手機號碼 11 位 + 數字... 變數@telno

5樓:紅樓花霧

在資料表中加需要約束的那一列的一個約束就行了!表示式如下:

check=([列名] like '13[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

希望我的回答對你有所幫助,謝謝採納!!

6樓:匿名使用者

我的想法和下面位朋友差不多,但是可以直接用:

在資料表中加需要約束的那一列的一個約束就行了!表示式如下:

where ([列名] like '13[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

註釋:[0-9]代表是選任一一個0-9中的數字作為當前位的數字。希望能對你有所幫助和啟發。

7樓:匿名使用者

@telno = \\d\;

c語言判斷輸入的是否是數字不止一位

寫出一個巨集定義,用於判斷輸入的一個字元是否是數字,若是得1,否則得0。如下 include define p x x 0 x 9 1 0 void main 擴充套件資料 巨集定義的優點 方便程式的修改 使用簡單巨集定義可用巨集代替一個在程式中經常使用的常量,這樣在將該常量改變時,不用對整個程式進...

如何判斷老婆是否出軌,怎麼判斷老婆是否出軌?

女人出軌表現之三 粥 沒資訊 男人細心點可以發現,女人跟曖昧異回性談話的時候,語調會低一答 些,聲音也會更加甜美,而妻子頻繁低聲細語地煲 粥則也是女人出軌的徵兆之一。不過聰明的女人在出軌後並不會那麼容易洩露蛛絲馬跡,而會把所有跟私隱相關的聊天資訊都刪除掉。這個還真bai讓人頭痛。1.找個du私家偵探...

怎麼判斷自己心理是否健康,如何判斷自己是否心理健康呢

如何判斷心理是否健康 一個人的健康不僅僅是身體的健康就是可以的,還要的就是心理健康,那您是否知道心理健康標準是什麼呢?您知道如何保持心理健呢?心理健康標準 健康特徵一 暗示 好的,我們的心理,多是受周圍的環境影響而影響的。所以,一個人的心理是不是健康的,就要看他受自身周圍的環境暗示影響大不大。所謂波...