如将字符串'张三,李四,王五,赵六,'转换成 1. 张三 2.李四 3.王五 4.赵六 REGEXP_SUBSTR 查询语句: WITH TEST AS (SELECT '张三,李四,王五,赵六,' AS STR FROM DUAL) SELECT DISTINCT REGEXP_SUBSTR(STR, '[^,]+', 1, LEVEL) FROM TEST CONNECT BY LEVEL<=LENGTH(STR)-LENGTH(REGEXP_REPLACE(STR,',','')
oracle中一个字符串包含另一个字符串中的所有字符 --解决监理报告中所勾选的标段信息,与该用户所管理的标段字符串不匹配的问题. select * from a where instr(a,b)>0;这个只能实现B字段是A字段中的某一部分的时候,如果想要不论顺序或者不相邻的字符时,定义函数可以实现 create or replace function checks(v_a varchar2,v_b varchar) return number as num number; cou
1.创建表 SQL> create table t(id number,name varchar2(20)); 表已创建. 2.常规方式插入 SQL> insert into t values(1,’a&b’); 输入 b 的值: a&b 原值 1: insert into t values(1,’a&b’) 新值 1: insert into t values(1,’aa&b’) 已创建 1 行. 3.chr(38)插入 SQL> insert into
Oracle数据库中字符串拼接的实现 select count() from THT_HTFKJL where ht=1: 假如结果为:31.例如上面例子想要给结果拼接字符串有二种实现方法,第一种使用’||’拼接,相当于’+’字符.select ‘第’||count()||’次付款’ from THT_HTFKJL where ht=1; 查询结果为:第3次付款2.使用concat函数进行字符串拼接,但是concat(char1,char2)只能拼接2个参数,如果想要多个字符串拼接需要内部再次使
oracle 多行转多列查询 ---create table Fruit(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int);insert into Fruit values(1,'苹果',1000,2000,3300,5000);insert into Fruit values(2,'橘子',3000,3000,3200,1500);insert into Fruit values(3,'香蕉',2500,3500,2200,2
1. 通过dbms_xplan.display_cursor查看指定sql都有哪些执行计划 SQL> select * from table(dbms_xplan.display_cursor('&sql_id',null,'TYPICAL PEEKED_BINDS')); 2. 查询该sql的历史执行情况 SQL> col snap_id for 99999999 SQL> col date_time for a30 SQL> col plan_hash for 9999