instr()函数

instr()函数的使用
最近遇到需要从长字符串中截取部分语句,开始直接使用substr(字符串,开始位置,长度)函数进行截取,
但因为开始位置和长度不一样,导致不能得到希望结果,后面发现这些字符串有些规律,想到使用instr()
instr(被查询的字符串, 需要查找的关键字, 开始位置,出现第几次 ),函数的下表从1开始
和substr()函数使用可截取长字符串中的短句,如果要替换截取的字符串,再和replace()函数搭配就完美
replace(t.return_xml,to_char(substr(t.return_xml,
          instr(t.return_xml, '>', 1, 3) + 1,
          instr(t.return_xml, '<', 1, 4) -
          instr(t.return_xml, '>', 1, 3) - 1)),

          111111)

trunc()函数的使用:
1.)在创建oracle定时任务时,用到trunc(时间,精度)函数,在此记录下
精度包含:年,月,星期,日,时
trunc(sysdate)--当前年月日
trunc(sysdate,'yyyy') --当年的第一天2018-01-01
trunc(sysdate,'mm')--当年当月的第一天2018-03-01
trunc(sysdate,'d')--当前当月当星期的第一天2018-03-04
trunc(sysdate,'dd')--当前时间2018-03-06
trunc(sysdate,'mi')--当前年月日时分
trunc(next_day(sysdate,'星期一'))--当前时间的下个星期一  
TRUNC(LAST_DAY(SYSDATE))+1+1/24--每月1日凌晨1点执行
TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24--每季度的第一天凌晨1点执行
2.)trunc(数字,精度)
trunc(m,n)函数截取时不进行四舍五入,和number(p,s)有点差别,精度为负数截取小数点左n位
其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去
trunc(123.45) --123
trunc(123,45,1)--123.4

trunc(123.45,-1)--120

case when.. then.. else.. end用法

select c.gender,

       case
         when c.gender = 'M' then
          '男'
         when c.gender = 'W' then
          '女'
         else
          '无'
       end
  from t_customer c; 

查询表被哪个存储过程调用:

SELECT DISTINCT * FROM user_source
WHERE TYPE = 'PROCEDURE'
AND upper(text) LIKE '%TBL_SHENGHUA_DETAIL%';

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值