好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Oracle 多参数查询语句

废话不多说了,直接给大家贴代码了,具体代码如下所示:

?

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

46

47

CREATE OR REPLACE FUNCTION f_get_param(

       IN_PARAM IN VARCHAR2,

       IN_FLAG IN VARCHAR2)

RETURN VARCHAR2 IS

RESULT VARCHAR2(500);

v_leng NUMBER;

v_left NUMBER;

v_right NUMBER;

v_param VARCHAR2(200);

v_param1 VARCHAR2(200);

BEGION

  RESULT := '' ;

  v_param:=IN_PARAM;

  v_leng := LENGTH(v_param);

  v_left := instr(v_param,in_flag);

  IF v_left > 0 THEN

   v_param1 := substr(v_param,v_left,v_leng - v_left +1)

   v_left := instr(v_param1, ':' ) + 1;

   v_right := indtr(v_param1, '$' );

   RESULT := substr(v_param1,v_left,v_right-v_left)

  END IF;

  RETURN (RESULT);

  EXCEPTION

   WHEN OTHERS THEN

   RETURN '' ;

END f_get_param;

//数据库赋值格式

f_get_param(v_param, 'materialtype:' );//器件编码类型

//数据库展示

public string BuildToParams(ListArgs Args)

{

   string params = '$' ;

   if(Args != null )

   {

     if(!string.isNotEmpty(Args.MaterailType))

     {

       params = params + 'materialtypes:' + Args.MaterailType + '$' ;

     }

   }

   return params;

}

//Oracle 数据库拓展-多选参数

SELECT instr( ',' || '1,2,3,21' || ',' , ',' || '1' || ',' ) FROM DUAL

SELECT * FROM table_name where instr( ',' || list_id || ',' , ',' || id || ',' ) > 0

//Oarcle 多条件 ',' 隔开查询 

select distinct regexp_substr( '我爱你' , '[^.]+' ,1,rownum) xyz_name From dual

connect by rownum <= length( '我爱你' ) - length( replace ( '我爱你' , ',' )) + 1

以上所述是小编给大家介绍的Oracle 多参数查询语句,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

查看更多关于Oracle 多参数查询语句的详细内容...

  阅读:29次