Rumah > pangkalan data > tutorial mysql > 使用表函数切割字符串

使用表函数切割字符串

WBOY
Lepaskan: 2016-06-07 14:56:25
asal
1092 orang telah melayarinya

无详细内容 无 CREATE OR REPLACE TYPE table_userid is table of varchar2(100); create or replace function get_userid_tab(v_str in varchar2) return table_userid pipelined as v_new_str varchar2(4000); begin if nvl(v_str,null) is not null then v

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

CREATE OR REPLACE TYPE table_userid is table of varchar2(100);

 

create or replace function get_userid_tab(v_str in varchar2) return table_userid pipelined as

 

v_new_str varchar2(4000);

 

begin

 

  if nvl(v_str,null) is not  null then

 

 

    v_new_str:=v_str;

 

    while 1=1 loop

 

      if instr(v_new_str,',')=0 then

 

        pipe row(to_number(v_new_str));

 

        exit;

 

      else

 

        pipe row(to_number(substr(v_new_str,1,instr(v_new_str,',')-1)));

 

        v_new_str:=substr(v_new_str,instr(v_new_str,',')+1);

 

      end if;

 

    end loop;

 

  end if;

 

  return;

 

end;

 

测试: select * from table(get_userid_tab('16,17,18,19,20'));

 

结果:

16

17

18

19

20

Salin selepas log masuk
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan