oracle中包含某個(gè)字符串 oracle中有沒有一個(gè)函數(shù)可以判斷一個(gè)字符串中是否包含數(shù)字?
oracle中有沒有一個(gè)函數(shù)可以判斷一個(gè)字符串中是否包含數(shù)字?使用 REGEXP_INSTR 函數(shù), 可以實(shí)現(xiàn)這個(gè) 功能. 下面是例子:SQL> select * from test_re
oracle中有沒有一個(gè)函數(shù)可以判斷一個(gè)字符串中是否包含數(shù)字?
使用 REGEXP_INSTR 函數(shù), 可以實(shí)現(xiàn)這個(gè) 功能. 下面是例子:SQL> select * from test_reg_substrA-----------------------------------ABC123XYZABC123XYZ456找數(shù)字SQL> SELECT 2 REGEXP_INSTR (a,"[0-9] ") AS A 3 FROM 4 test_reg_substr A---------- 4 4 0也就是 結(jié)果返回值 大于0 的, 就是包含數(shù)字了.
oracle有沒有判斷一個(gè)字符串都是數(shù)字的函數(shù)呀?
額,正好以前寫過一個(gè)
oracle本身沒有,得自定義一個(gè)函數(shù)
create or replace function isNumber(p in varchar2)
return number
is
result number
begin
result := to_number(p)
return 1
exception
when VALUE_ERROR then return 0
end
調(diào)用
select isNumber("abc123") from dual
或者
select isNumber("123") from dual
返回值為1,說明是數(shù)字,返回值是0,說明里邊包含非數(shù)字的字符
oracle length函數(shù)?
lengthb(string)計(jì)算string所占的字節(jié)長(zhǎng)度:返回字符串的長(zhǎng)度,單位是字節(jié)
length(string)計(jì)算string所占的字符長(zhǎng)度:返回字符串的長(zhǎng)度,單位是字符
對(duì)于單字節(jié)字符,LENGTHB和LENGTH是一樣的.
如可以用length(‘string’)=lengthb(‘string’)判斷字符串是否含有中文。
注:
一個(gè)漢字在Oracle數(shù)據(jù)庫(kù)里占多少字節(jié)跟數(shù)據(jù)庫(kù)的字符集有關(guān),UTF8時(shí),長(zhǎng)度為三。
select lengthb("飄") from dual 可查詢漢字在Oracle數(shù)據(jù)庫(kù)里占多少字節(jié)
length函數(shù):取字符串長(zhǎng)度
where length(area_code)=4 :篩選 area_code 的長(zhǎng)度為4的記錄
oracleinstr函數(shù)什么意思?
使用instr函數(shù)對(duì)某個(gè)字符串進(jìn)行判斷,判斷其是否含有指定的字符。在一個(gè)字符串中查找指定的字符,返回被查找到的指定的字符的位置。對(duì)于instr函數(shù),我們經(jīng)常這樣使用:從一個(gè)字符串中查找指定子串的位置。例如: