ORACLE NOTE

(1)
SELECT l_count, REGEXP_SUBSTR(‘add, daddf, dsdf, asdfa, dsfasd, dsfad’,’[^,]+’,1,l_count) AS NAME
FROM dual
,(SELECT LEVEL l_count FROM DUAL CONNECT BY LEVEL<=100)
WHERE l_count <=LENGTH(‘add, daddf, dsdf, asdfa, dsfasd, dsfad’) - LENGTH(REPLACE(‘add, daddf, dsdf, asdfa, dsfasd, dsfad’,’,’))+1

查询结果为:
lcount name
1 add
2 daddf
3 dsdf
4 asdfa
5 dsfasd
6 dsfad

一种奇特的字符串拆分方法

select * from sys_flow_step@sys where flow_id=’11938’ /请假流程中的环节/

(2) to_char(T2.Birth,’yyyy-mm-dd’)
(3) oracle ROUND()按照指定的小数位四舍五入
(4) update 多列,set 后面用逗号隔开
(5) NVL(eExpression1, eExpression2) 如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL
(6) add_months(time,months)函数可以得到某一时间之前或之后n个月的时间

(7)删除列:alter table emp4 drop column test;
(8)SQL中的MINUS关键字
  SQL中有一个MINUS关键字,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果中。如果有的话,那这一笔记录就被去除,而不会在最后的结果中出现。如果第二个SQL语句所产生的结果并没有存在于第一个SQL语句所产生的结果内,那这笔资料就被抛弃

(9)分组取每组第一行数据

SELECT *
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY user_info_id ORDER BY vacation_init_id DESC) rn,
rk_vacation_init.*
FROM rk_vacation_init)
WHERE rn = 1 ;

(10) 字符串中含有引号如何匹配,将引号当做字符串来处理 使用q;
eg: select q’/I’m teacher/’ str from dual

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值