/*
查
*/
select * from emp where rownum<=2; //查看emp中的前2条记录(mysql使用limit 0,1)
select * from ( select rownum as rn, t.* from emp t where rownum<=2 ) where rn=2 ; //查第二条记录
SELECT NEWID() AS ID FROM DUAL; //生成唯一标识
INSERT INTO CULTUREMEDIUMUSE
(CULTUREMEDIUMUSEID,
CULTUREMEDIUMUSENAME,
CULTUREMEDIUMUSEINVSOURCE,
CULTUREMEDIUMUSEBATCHNO,
FOLDERNO,
ORDTASKID)
SELECT NEWID(),
lc.CULTUREMEDIUMUSENAME,
lc.CULTUREMEDIUMUSEINVSOURCE,
lc.CULTUREMEDIUMUSEBATCHNO,
#{folderno},
#{ordtaskid}
FROM LIMS_CULTUREMEDIUMUSE lc
WHERE lc.FOLDERNO = #{oldfolderno} AND lc.ORDTASKID = #{oldordtaskid} //查询结果插入
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual; //sysdate转字符串
select to_date('2019-11-7' || ' ' || (select to_char(sysdate,'hh24:mi:ss') from dual),'yyyy-mm-dd hh24:mi:ss') from dual //拼接字符串,取系统时间
<!-- decode(条件1,值1,返回值1,值2,返回值2,'其它')类似于mysql,if()函数 -->
<!-- substr(FOLDERNO,开始位置,截取长度) -->
<!-- to_number()转数值函数 -->
SELECT decode(
substr(FOLDERNO,-1),'F',substr(FOLDERNO,5,length(folderno)-5),
substr(folderno, - 5)
) AS NO
FROM LIMS_FOLDERS FOLDERS
WHERE decode(
substr(FOLDERNO,-1),'F',substr(FOLDERNO,0,length(folderno)-6),
substr(folderno,0,length(folderno) - 5)
) = 'A19S'
and to_number(
decode(
substr(FOLDERNO,-1),'F',substr(FOLDERNO,5,length(FOLDERNO)-5),
substr(folderno,length(folderno) - 4, length(folderno))
)
) > (SELECT smin FROM BASE_SEQCODE WHERE snam = 'LIMS_FOLDERSA19S')
order by to_number(
decode(
substr(FOLDERNO,-1),'F',substr(FOLDERNO,5,length(FOLDERNO)-5),
substr(FOLDERNO,-5)
) asc
SELECT instr('syranmo','s') FROM dual; -- 返回 1 //如果String2在String1中没有找到,instr函数返回0.
SELECT instr('syranmo','ra') FROM dual; -- 返回 3 //查找'ra'在'syranmo'位置
<!-- 动态生成编码 -->
select decode(sign(ASCII(substr(max(lo.ORDNO),-1))-ASCII('A')),
-1,max(lo.ORDNO) || 'A',
substr(max(lo.ORDNO),0,length(max(lo.ORDNO))-1) || CHR(ASCII(substr(max(lo.ORDNO),-1))+1)
)
from LIMS_ORDERS lo
<!-- 动态生成业务编码,随年份增加 -->
SELECT ( 'FJSQ'
||
(
SELECT TO_NUMBER(to_char(sysdate, 'yyyy') || NVL(MIN(NO),'00000'))+1
FROM(
SELECT MAX(NO) AS NO
FROM(
SELECT row_.*, ROWNUM rn_
FROM(
SELECT DISTINCT SUBSTR(reexamplannum,9,length(reexamplannum)) AS NO
FROM LIMS_REEXAMAPPLICATION
WHERE SUBSTR(reexamplannum,5,4) = (SELECT TO_CHAR(sysdate, 'yyyy') FROM dual)
ORDER BY TO_NUMBER (SUBSTR(reexamplannum,9,length(reexamplannum))) ASC
)row_
) A
GROUP BY NO - rn_
) B
)
) AS reexamplannum
FROM dual
WHERE '00001' = (SELECT SUBSTR(min(reexamplannum),-5) FROM LIMS_REEXAMAPPLICATION)
UNION
SELECT ('FJSQ' || (SELECT TO_CHAR(sysdate, 'yyyy') FROM dual) || '00001') AS reexamplannum FROM dual
WHERE '00001' != (SELECT SUBSTR(min(reexamplannum),-5) FROM LIMS_REEXAMAPPLICATION)
//参考致谢:https://blog.csdn.net/Fupengyao/article/details/52778565?locationNum=7&fps=1
//①其9代表:如果存在数字则显示数字,不存在则显示空格
②其0代表:如果存在数字则显示数字,不存在则显示0,即占位符。
③其FM代表:删除如果是因9带来的空格,则删除之
select to_char(lc.discount,'fm9999990.9999') from dual;
//分组合并
select listagg(bc.corpdesc, ',') WITHIN GROUP (ORDER BY bc.corpdesc)
from LIMS_FOLDERSERVGRP lfs
left join base_corp bc on bc.corpcode = lfs.dept
where lfs.foldersid = T1.foldersid
and lfs.MAINSERVGRP != 1
group by lfs.foldersid
//参考致谢:https://www.cnblogs.com/kylie-go/p/10238096.html
select *,row_number() over(order by Score desc) as Sequence from Student
/*
基本操作
*/
//表添加一列
alter table base_user add USERSIGNPASS VARCHAR2(120); comment on column base_user.USERSIGNPASS is '签名密码';
commit;
//列重命名
alter table base_user rename column aa1 to USERSEX;
commit;