當前位置:首頁 » 存儲配置 » 存儲過程instr

存儲過程instr

發布時間: 2022-09-06 10:03:47

A. oracle存儲過程 遍歷字元串

不用循環不行么,一個sql就搞定啦

selectcfrom
(withtestas(select'21,32,43'cfromal)
selectsubstr(t.ca,instr(t.ca,',',1,c.lv)+1,instr(t.ca,',',1,c.lv+1)-(instr(t.ca,',',1,c.lv)+1))ASc
from(select','||c||','ASca,length(c||',')-nvl(length(REPLACE(c,',')),0)AScntFROMtest)t,
(<=100)cwherec.lv<=t.cnt)

'21,32,43' --這個你換成你要查的字元串,數字字母什麼都可以,只要逗號分隔就好

B. 如何在存儲過程里寫模糊查詢

存儲過程裡面可以寫 SQL 語句, SQL 語句可以模糊查詢。 So 存儲過程 就這么寫模糊查詢 。

如果不是使用SQL語句的, 而是一個字元串變數的模糊查詢的話。

使用字元串搜索的函數來處理。

Oracle
INSTR
4參數:
被檢索字元串
檢索的字元串
哪裡開始(默認1)
找第幾個(默認1)

SQL> SELECT
2 INSTR('easy come, easy go, so easy!', 'easy') A,
3 INSTR('easy come, easy go, so easy!', 'easy', 3) B,
4 INSTR('easy come, easy go, so easy!', 'easy', 3, 2) C
5 FROM
6 al;

A B C
---------- ---------- ----------
1 12 24

SQL Server
CHARINDEX
3參數
檢索字元串
被檢索字元串
哪裡開始(默認1)
1> SELECT
2> CHARINDEX('easy', 'easy come, easy go, so easy!') A,
3> CHARINDEX('easy', 'easy come, easy go, so easy!', 3) B
4> go
A B
----------- -----------
1 12

MySQL
INSTR
MySQL INSTR只支持從第一個字元開始找第一個
LOCATE支持從指定位置開始找

mysql> SELECT
-> INSTR('easy come, easy go, so easy!', 'easy') A
-> //
+---+
| A |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

mysql> SELECT
-> LOCATE ('easy', 'easy come, easy go, so easy!', 2) A
-> //
+----+
| A |
+----+
| 12 |
+----+
1 row in set (0.00 sec)

C. oracle 存儲過程 判斷欄位中是否包含指定的字元,該怎麼解決

比如半段欄位col中是否好友字元"a"
instr(col,'a')>0表示包含 =0表示不包含

請採納

D. 用存儲過程循環判斷傳進來的數組中的某一項在數據中是否存在

createprocereoap_dect(
inoutp_arrayvarchar(255),#通過(,)分隔符傳遞數組
outp_resultvarchar(255)#返回信息
)
begin

declarev_douhaoint(10)default0;
declarev_resultint(10)default0;
declarev_countint(10)default0;
declarev_datavarchar(255)default'';
declarev_data_infovarchar(40)default'';

setv_douhao=instr(v_data,',');
while(v_douhao>=1)
do
setv_count=v_count+1;
setv_data_info=substring(v_data,1,v_douhao-1);

selectcount(*)
intov_result
fromtable_name
wherefield_name=v_data_info;
setp_result=p_result+1;

setv_data_str=substring(v_data,v_douhao+1);
setv_fenhao=instr(v_data_str,',');
endwhile;
if(p_result<v_count)
setp_result=false;
else
setp_result=true;
endif;
end

E. Oracle 變長參數的存儲過程能實現嗎

'不限定輸入的參數個數'
是不可能的,不過如果你想實現這樣可變入參個數的效果,可以變通一下。
比如:入參instr
varchar2類型(這個字元串是多個入參以固定分割符拼接而成的),傳入存儲過程後,在根據分隔符拆分成多個變數。
這樣就可以實現你要的效果了。如果需要可變個數的出參,也可以這樣做。
這只是個思路,如果有需要,還可以定義type等等。

F. Instr函數在oracle存儲過程里怎麼用

你測試的時候 寫的是SELECT 還是SELECT INTO

還有 整個語句是否寫在循環裡面的,是否是死循環?

或者是在循環裡面,但是記錄數太多,需要執行很久。

G. 存儲過程截取字元串循環

CREATE OR REPLACE PROCEDURE SP_VALUE(P_A1 IN VARCHAR2, P_A2 IN VARCHAR2) AS
V_NUM NUMBER;
V_A1 VARCHAR2(200);
BEGIN
---1,2,3,4
V_A1 := P_A1;
IF INSTR(P_A1, ',', 1, 1) <> 0 THEN
LOOP
INSERT INTO A
(A1, A2)
SELECT SUBSTR(V_A1, 1, INSTR(V_A1, ',', 1, 1) - 1), P_A2 FROM DUAL;
COMMIT;
V_A1 := SUBSTR(V_A1, INSTR(V_A1, ',', 1, 1) + 1);
SELECT INSTR(V_A1, ',', 1, 1) INTO V_NUM FROM DUAL;
IF V_NUM = 0 THEN
INSERT INTO A
(A1, A2)
SELECT V_A1, P_A2 FROM DUAL;
COMMIT;
EXIT;
END IF;
END LOOP;
END IF;
END SP_VALUE;

H. Oracle中怎樣用存儲過程將一段字元串以逗號為界截取,並將得到的子串存到另一張表中

I. oracle怎麼用函數求一個存儲過程的輸入參數(是一個以,為分隔的字元串)的長度~! 急,不勝感激!

select substr(',' || a.exc,
instr(',' || a.exc, ',', 1, b.rn) + 1,
instr(a.exc || ',', ',', 1, b.rn) -
instr(',' || a.exc, ',', 1, b.rn)) exc
from (select 'a,b,c,d,e,f,g,h' exc from al t) A,
(SELECT ROWNUM RN FROM DUAL CONNECT BY ROWNUM < 20) B
where length(a.exc) - length(replace(a.exc, ',')) + 1 >= b.rn

J. oracle存儲過程中式用集合做參數

可以取,用substr函數和instr函數共同實現,但是實現起來不是太容易,費了好大勁給你取了v1和v2,那個v3你自己照個寫一寫吧,全當自己學習了

select substr('v1,v2,v3',1,instr('v1,v2,v3',',',1,1)-1) from al;

select substr('v1,v2,v3',instr('v1,v2,v3',',',1,1)+1,(instr('v1,v2,v3',',',instr('v1,v2,v3',',',1,1)-1,2)-(instr('v1,v2,v3',',',1,1)+1))) from al;

這兩句在oracle中可直接運行,其中'v1,v2,v3'你可以用某個欄位來代替

熱點內容
財務信息伺服器搭建 發布:2025-01-11 04:48:09 瀏覽:875
演算法實現過程 發布:2025-01-11 04:43:45 瀏覽:457
瞄準下載ftp 發布:2025-01-11 04:43:44 瀏覽:573
校園電影腳本 發布:2025-01-11 04:32:08 瀏覽:437
現在手機配置最高是什麼 發布:2025-01-11 04:30:37 瀏覽:549
學信網默認密碼是多少 發布:2025-01-11 04:25:45 瀏覽:530
jdbctemplate調用存儲過程 發布:2025-01-11 04:25:41 瀏覽:256
我的世界怎麼不用錢創建伺服器 發布:2025-01-11 04:25:39 瀏覽:283
打卡機資料庫 發布:2025-01-11 04:18:36 瀏覽:916
製作產業項目視頻腳本 發布:2025-01-11 04:10:14 瀏覽:186