sql中的CAST(1 as bit),,转换成Oracle,是什么样的???

解决方案 »

  1.   


    --------你那样搞不出来,你是不是要看1这个数字占几个字节呢?
    SQL> select dump(1) from dual;DUMP(1)
    ------------------
    Typ=2 Len=2: 193,2SQL> 
      

  2.   

    oracle中没有bit类型,你需要自己定义一个
      

  3.   


    SQL> select dump(1) from dual;DUMP(1)
    ------------------
    Typ=2 Len=2: 193,2SQL> select dump(cast(1 as char)) from dual;DUMP(CAST(1ASCHAR))
    --------------------------------------------------------------------------------
    Typ=96 Len=1: 49SQL> select dump(cast(1 as varchar2(1))) from dual;DUMP(CAST(1ASVARCHAR2(1)))
    --------------------------------------------------------------------------------
    Typ=1 Len=1: 49SQL> 
      

  4.   

    select CAST(1  bit)  StltFlag,ROW_NUMBER() OVER(ORDER BY sysdate)  PagerID from table
    WHERE 1=1 AND (BillingDetail.BillingContent & 0xFF000000) / 0x01000000 = BillingRegion.ID
      

  5.   

    具体的就是这样的一个SQL语句,转成Oracle
      

  6.   


    select CAST(1 as char) StltFlag,
           ROW_NUMBER() OVER(ORDER BY sysdate) PagerID
      from table
     WHERE 1 = 1
       AND (BillingDetail.BillingContent &0xFF000000) / 0x01000000 =
           BillingRegion.ID
      

  7.   

    好多办法,直接to_char也可以。
      

  8.   

    oracle 没有bit CAST(1 as varchar2(2))