MySQL和oracle比較

一、判斷字符串爲空串mysql

--Mysql:在MySQL中,空值(Null)與空字符(’’)是不相同的
select '' is null;  
+------------+
| '' is null |
+------------+
|          0 |
+------------+
select trim(' ')='';
+--------------+
| trim(' ')='' |
+--------------+
|            1 |
+--------------+
--因此在mysql中能夠這樣來判斷空串
select *
  from table
 where trim(col) = '';
--***************************
--而在oracle,則空值(Null)與空字符(’’)是同樣的
select *
  from table
 where trim(col) is null;

二、虛表dual,oracle和mysql均存在該虛表,但對於下面語句:sql

select * from dual;
-- mysql執行會報錯
--oracle執行會查出以下:
D
-
X

三、關聯表進行刪除oracle

-- mysql
delete a from hs_sett.fusettleholdsinfo a, hs_sett.fusettarg b
where a.exchange_type = b.exchange_type
  and b.exchange_type = 'F1';

--oracle
delete from hs_futuvip.fusettleholdsinfo a
where exists(select 1
               from hs_futuvip.fusettarg b
              where a.futu_exch_type = b.futu_exch_type
                and b.futu_exch_type = 'F1');

四、關聯表更新code

-- mysql
update futransfertotal a, fusettarg b 
   set a.clear_balance=0,a.active_flag='1'
 where a.exchange_type = b.exchange_type
   and b.asset_kind = '1';

-- oralce
update futransfertotal a
   set a.clear_balance=0,a.active_flag='1'
 where exists(select 1
                from fusettarg b
               where a.futu_exch_type = b.futu_exch_type
                 and b.futu_exch_type = 'F1')
相關文章
相關標籤/搜索