【Oracle 学习笔记】Day 1 常用函数整理(转换

系统 1859 0
      
        select
      
      
        Convert
      
      (
      
        varchar
      
      ,
      
        Convert
      
      (
      
        money
      
      ,TaxExValue),
      
        1
      
      ) 
      
        from
      
      
         A






      
      
        --
      
      
        Result
      
      
        2
      
      ,
      
        794.87
      
      
        58
      
      ,
      
        119.66
      
      
        1
      
      ,
      
        367.52
      
    

对于SQL Server来说,进行金额的转换,可以按照上面的操作那样,会自动将金额处理为两位小数,并用逗号分隔小数点前面的数字。

当然可以用字符串拼接的方式,将金额符号加上去。

对于项目中,客户需要将金额转换的时候,这样处理显示出来的效果会好一些。

一下是用ORACLE的显示结果。

      
        Select
      
       to_char(hisal,
      
        '
      
      
        L9,999
      
      
        '
      
      ) 
      
        as
      
       Value 
      
        from
      
      
         SALGRADE






      
      
        --
      
      
        result
      
        1
      
      ,
      
        200
      
      
      
        1
      
      ,
      
        400
      
      
      
        2
      
      ,
      
        000
      
      
      
        3
      
      ,
      
        000
      
      
      
        9
      
      ,
      
        999
      
    

 

 

 

-- Decode()函数

//SQL Server 下,用case 实现

      
        select
      
      
        case
      
      
        '
      
      
        2
      
      
        '
      
      
        when
      
      
        '
      
      
        1
      
      
        '
      
      
        then
      
      
        '
      
      
        内容1
      
      
        '
      
      
        when
      
      
        '
      
      
        2
      
      
        '
      
      
        then
      
      
        '
      
      
        内容2
      
      
        '
      
      
        when
      
      
        '
      
      
        3
      
      
        '
      
      
        then
      
      
        '
      
      
        内容3
      
      
        '
      
      
        End
      
      
        Union
      
      
        all
      
      
        select
      
      
        case
      
      
        '
      
      
        4
      
      
        '
      
      
        when
      
      
        '
      
      
        1
      
      
        '
      
      
        then
      
      
        '
      
      
        内容1
      
      
        '
      
      
        when
      
      
        '
      
      
        2
      
      
        '
      
      
        then
      
      
        '
      
      
        内容2
      
      
        '
      
      
        when
      
      
        '
      
      
        3
      
      
        '
      
      
        then
      
      
        '
      
      
        内容3
      
      
        '
      
      
        End
      
      
        --
      
      
        Result
      
      
        

内容2


      
      
        NULL
      
    

//Oracle 下,Decode和Case都可以

      
        select
      
       Decode(
      
        '
      
      
        2
      
      
        '
      
      ,
      
        '
      
      
        1
      
      
        '
      
      ,
      
        '
      
      
        内容1
      
      
        '
      
      ,
      
        '
      
      
        2
      
      
        '
      
      ,
      
        '
      
      
        内容2
      
      
        '
      
      ,
      
        '
      
      
        3
      
      
        '
      
      ,
      
        '
      
      
        内容3
      
      
        '
      
      ) 
      
        from
      
      
         dual


      
      
        Union
      
      
        all
      
      
        select
      
      
        case
      
      
        '
      
      
        2
      
      
        '
      
      
        when
      
      
        '
      
      
        1
      
      
        '
      
      
        then
      
      
        '
      
      
        内容1
      
      
        '
      
      
        when
      
      
        '
      
      
        2
      
      
        '
      
      
        then
      
      
        '
      
      
        内容2
      
      
        '
      
      
        when
      
      
        '
      
      
        3
      
      
        '
      
      
        then
      
      
        '
      
      
        内容3
      
      
        '
      
      
        End
      
      
        from
      
      
         dual


      
      
        Union
      
      
        all
      
      
        select
      
       Decode(
      
        '
      
      
        4
      
      
        '
      
      ,
      
        '
      
      
        1
      
      
        '
      
      ,
      
        '
      
      
        内容1
      
      
        '
      
      ,
      
        '
      
      
        2
      
      
        '
      
      ,
      
        '
      
      
        内容2
      
      
        '
      
      ,
      
        '
      
      
        3
      
      
        '
      
      ,
      
        '
      
      
        内容3
      
      
        '
      
      ) 
      
        from
      
      
         dual


      
      
        Union
      
      
        all
      
      
        select
      
      
        case
      
      
        '
      
      
        4
      
      
        '
      
      
        when
      
      
        '
      
      
        1
      
      
        '
      
      
        then
      
      
        '
      
      
        内容1
      
      
        '
      
      
        when
      
      
        '
      
      
        2
      
      
        '
      
      
        then
      
      
        '
      
      
        内容2
      
      
        '
      
      
        when
      
      
        '
      
      
        3
      
      
        '
      
      
        then
      
      
        '
      
      
        内容3
      
      
        '
      
      
        End
      
      
        from
      
      
         dual;








      
      
        --
      
      
        Result
      
      
        内容2

内容2
      
    

Oracle后面两个SQL执行出来的结果不是NULL而是''

 

外键约束。

删除时同时删除子表数据

Oracle测试用例
        
           1
        
        
          ORACLE 的测试用例


        
        
           2
        
        
          1
        
        
          drop
        
        
          table
        
        
           Materials


        
        
           3
        
        
          2
        
        
          /
        
        
           4
        
        
          3
        
        
          Create
        
        
          table
        
        
           Materials


        
        
           5
        
        
          4
        
        
           (


        
        
           6
        
        
          5
        
                MaterialID 
        
          varchar2
        
        (
        
          30
        
        
          ),


        
        
           7
        
        
          6
        
                MaterialCode 
        
          varchar2
        
        (
        
          255
        
        
          ),


        
        
           8
        
        
          7
        
                MaterialName 
        
          varchar2
        
        (
        
          255
        
        
          ),


        
        
           9
        
        
          8
        
                Specs 
        
          varchar2
        
        (
        
          255
        
        
          ),


        
        
          10
        
        
          9
        
                UnitID 
        
          varchar2
        
        (
        
          30
        
        
          ),


        
        
          11
        
        
          10
        
        
          constraint
        
         PK_Materials 
        
          primary
        
        
          key
        
        
           (MaterialID)


        
        
          12
        
        
          11
        
        
           )


        
        
          13
        
        
          12
        
        
          /
        
        
          14
        
        
          13
        
        
          drop
        
        
          table
        
        
           MaterialComLinks


        
        
          15
        
        
          14
        
        
          /
        
        
          16
        
        
          15
        
        
          Create
        
        
          table
        
        
           MaterialComLinks


        
        
          17
        
        
          16
        
        
           (


        
        
          18
        
        
          17
        
                CompanyID 
        
          varchar2
        
        (
        
          30
        
        
          ),


        
        
          19
        
        
          18
        
                MaterialID 
        
          varchar2
        
        (
        
          30
        
        
          ),


        
        
          20
        
        
          19
        
                IMUnitID 
        
          varchar2
        
        (
        
          30
        
        
          ),


        
        
          21
        
        
          20
        
                PUUnitID 
        
          varchar2
        
        (
        
          30
        
        
          ),


        
        
          22
        
        
          21
        
        
          constraint
        
         PK_MaterialComLinks 
        
          primary
        
        
          key
        
        
           (CompanyID,MaterialID),


        
        
          23
        
        
          22
        
        
          constraint
        
         fk_MaterialComLinks 
        
          foreign
        
        
          key
        
         (MaterialID) 
        
          references
        
         Materials(Materialid) 
        
          on
        
        
          delete
        
        
          cascade
        
        
          24
        
        
          23
        
        
           )


        
        
          25
        
        
          24
        
        
          /
        
        
          26
        
        
          25
        
        
          27
        
        
          26
        
        
          Insert
        
        
          into
        
        
           Materials (MaterialID,MateiralCode,MaterialName,Specs,UnitID)


        
        
          28
        
        
          27
        
        
          values
        
        (
        
          '
        
        
          0001
        
        
          '
        
        ,
        
          '
        
        
          010101
        
        
          '
        
        ,
        
          '
        
        
          测试物料1
        
        
          '
        
        ,
        
          '
        
        
          规格型号
        
        
          '
        
        ,
        
          '
        
        
          计量单位
        
        
          '
        
        
          )


        
        
          29
        
        
          28
        
        
          /
        
        
          30
        
        
          29
        
        
          Insert
        
        
          into
        
        
           Materials (MaterialID,MateiralCode,MaterialName,Specs,UnitID)


        
        
          31
        
        
          30
        
        
          values
        
        (
        
          '
        
        
          0002
        
        
          '
        
        ,
        
          '
        
        
          010102
        
        
          '
        
        ,
        
          '
        
        
          测试物料2
        
        
          '
        
        ,
        
          '
        
        
          规格型号2
        
        
          '
        
        ,
        
          '
        
        
          计量单位2
        
        
          '
        
        
          )


        
        
          32
        
        
          31
        
        
          /
        
        
          33
        
        
          32
        
        
          Insert
        
        
          into
        
        
           MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID)


        
        
          34
        
        
          33
        
        
          values
        
        (
        
          '
        
        
          01
        
        
          '
        
        ,
        
          '
        
        
          0001
        
        
          '
        
        ,
        
          '
        
        
          库存计量单位1
        
        
          '
        
        ,
        
          '
        
        
          采购计量单位1
        
        
          '
        
        
          )


        
        
          35
        
        
          34
        
        
          /
        
        
          36
        
        
          35
        
        
          Insert
        
        
          into
        
        
           MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID)


        
        
          37
        
        
          36
        
        
          values
        
        (
        
          '
        
        
          01
        
        
          '
        
        ,
        
          '
        
        
          0002
        
        
          '
        
        ,
        
          '
        
        
          库存计量单位2
        
        
          '
        
        ,
        
          '
        
        
          采购计量单位2
        
        
          '
        
        
          )


        
        
          38
        
        
          37
        
        
          /
        
        
          39
        
        
          38
        
        
          Insert
        
        
          into
        
        
           MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID)


        
        
          40
        
        
          39
        
        
          values
        
        (
        
          '
        
        
          02
        
        
          '
        
        ,
        
          '
        
        
          0002
        
        
          '
        
        ,
        
          '
        
        
          库存计量单位3
        
        
          '
        
        ,
        
          '
        
        
          采购计量单位3
        
        
          '
        
        )
      

上两个建表语句分别为创建
集团物料字典表,和公司物料表。

并预制了集团物料两条数据和公司物料两条数据

结果
        
          select
        
        
          *
        
        
          from
        
        
           Materials

;


        
        
          Select
        
        
          *
        
        
          from
        
        
           MaterialComlinks








        
        
          --
        
        
          Result1
        
        
          0001
        
        
          010101
        
        
              测试物料1    规格型号    计量单位


        
        
          0002
        
        
          010102
        
        
              测试物料2    规格型号2    计量单位2


        
        
          --
        
        
          Result2
        
        
          01
        
        
          0001
        
        
              库存计量单位1    采购计量单位1


        
        
          01
        
        
          0002
        
        
              库存计量单位2    采购计量单位2


        
        
          02
        
        
          0002
        
            库存计量单位3    采购计量单位3
      

当在集团物料中删除对应物料信息时,自动删除公司物料下的对应数据。

View Code
        
          delete
        
        
          from
        
         Materials 
        
          where
        
         MaterialID
        
          =
        
        
          '
        
        
          0001
        
        
          '
        
        
          select
        
        
          *
        
        
          from
        
        
           Materialcomlinks


        
        
          --
        
        
          Reuslt
        
        
          01
        
        
          0002
        
        
              库存计量单位2    采购计量单位2


        
        
          02
        
        
          0002
        
            库存计量单位3    采购计量单位3
      

 

【Oracle 学习笔记】Day 1 常用函数整理(转换、DeCode),表的外键


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论