--------你那样搞不出来,你是不是要看1这个数字占几个字节呢? SQL> select dump(1) from dual;DUMP(1) ------------------ Typ=2 Len=2: 193,2SQL>
oracle中没有bit类型,你需要自己定义一个
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>
select CAST(1 bit) StltFlag,ROW_NUMBER() OVER(ORDER BY sysdate) PagerID from table WHERE 1=1 AND (BillingDetail.BillingContent & 0xFF000000) / 0x01000000 = BillingRegion.ID
具体的就是这样的一个SQL语句,转成Oracle
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
--------你那样搞不出来,你是不是要看1这个数字占几个字节呢?
SQL> select dump(1) from dual;DUMP(1)
------------------
Typ=2 Len=2: 193,2SQL>
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>
WHERE 1=1 AND (BillingDetail.BillingContent & 0xFF000000) / 0x01000000 = BillingRegion.ID
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