oracle 的判断函数 计算函数 等函数的一个 实例sql语句

来源:互联网 发布:网络骑士txt百度云 编辑:程序博客网 时间:2024/05/15 23:52
select a.fFL     as FFL,
       a.fFLBa   as FFLBa,
       a.fMXL    as FMXL,
       a.fQY     as FQY,
       a.fKaJLXM as FKaJLXM,
       a.fYGa    as FYGa,
       a.fXSDD   as FXSDD,
       a.fCNRQ   as FCNRQ,
       a.fSJRQ   as FSJRQ,
       a.fBZ     as FBZ,
       a.fGLYD   as FGLYD,
       a.fSFYQ   as FSFYQ,
       a.fYQTS   as FYQTS,
      //下面这句 是 取实际时间 如果实际时间为空 就取系统时间 ,有值就取实际时间
      decode(a.fsjrq,null,sysdate,a.fsjrq) as aaaa,
      //用承诺日期-时间日期得到中间的相差天数
      a.fcnrq-to_date(to_caar(decode(a.fsjrq,null,sysdate,a.fsjrq),'yyyy-MM-dd'),'yyyy-MM-dd')

as jjjj,
      // 如果天数是大于的值取是否   小于取是  sign(值,返回条件,'真取值','假取值')
      decode(sign(a.fcnrq-to_date(to_char(decode(a.fsjrq,null,sysdate,a.fsjrq),'yyyy-MM-

dd'),'yyyy-MM-dd')),-1,'是','否') as bbbb,
      // 如果天数是大于的值取是0   小于取是相差天数   abs()函数 是取绝对值  所有负数变成正数
decode(sign(a.fcnrq-to_date(to_char(decode(a.fsjrq,null,sysdate,a.fsjrq),'yyyy-MM-dd'),'yyyy-MM

-dd')),1,'0', abs(a.fcnrq-to_date(to_char(decode(a.fsjrq,null,sysdate,a.fsjrq),'yyyy-MM-

dd'),'yyyy-MM-dd')))  as ccccc       
      from YT_CXDA_SJWa a
       waere 1 = 1
       and a.fCNRQ between to_date('2012-12-19', 'yyyy-mm-dd') and
       to_date('2014-12-19', 'yyyy-mm-dd')
       and ((a.fFLBa = 'C') or (a.fGLYD = 'C') or (a.fQY = ' '));
0 0