废话不多说了,直接给大家贴代码了,具体代码如下所示:
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 多参数查询语句,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!