日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > sybase > sybase與oracle區別之Sql語法篇

sybase與oracle區別之Sql語法篇

來源:程序員人生   發布時間:2013-12-30 02:55:07 閱讀次數:4513次


sybase與oracle區別之Sql語法篇

 

1、對null和空字符串的處理 

Oracle:沒有空字符串,如果你將某值賦值為空字符,oracle會自動存成null 

Sybase: 區別空字符串和null 

如果想查詢某個字段不為空的數據 

 

sybase可以寫為:    

select * from table where (columA is not null and columA <>'') 

但是oracle如果這樣寫,是任何值都查詢不到的。因為不管culumA是否為null, 

columA <>''或者columA='' 永遠返回false, 

可以這樣寫:select * from table where columA is not null 

總結在oracel中可以取消對空串的考慮。特別是兼容兩種數據庫的程序應注意這一點。 

另:A<>'delete' 這里不包含null,應改寫為 (A<>'delete' or A is null) 

 

2、update select 

在 SQL 中,表連接(left join、right join、inner join 等)常常用于 select 語句,其實在 SQL 語法中,這些連接也是可以用于 update 和 delete 語句的,在這些語句中使用 join 還常常得到事半功倍的效果。 

Update T_OrderForm SET T_OrderForm.SellerID =B.L_TUserID 

FROM T_OrderForm A LEFT JOIN T_ProductInfo   B ON B.L_ID=A.ProductID 

   

oracle: 

UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID) WHERE ID IN (SELECT B.ID FROM B WHERE A.ID = B.ID) 

 

sybase: 

UPDATE table_A  SET a.A1 = b.B1, a.A2 = b.B2, a.A3 = b.B3  FROM table_A a JOIN table_B  b ON a.ID = b.ID and a.name='XXX' and b.B2='XXX'

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美一级大片 | 精品综合久久久 | 天天操,狠狠操 | 亚洲精品在线免费 | 国产精品美女久久久 | 色综合久久久久综合99 | 在线观看的av网站 | 精品伦精品一区二区三区视频 | 日韩欧美综合在线 | 国产毛片精品 | 久久自己只精产国品 | 一区二区三区日韩欧美 | 日本淫片 | 日韩精品91 | 国产精品免费无遮挡 | 久草福利在线视频 | av日韩久久 | 一区二区三区在线观看视频 | 亚洲国产日韩在线 | 欧美黑人xxxx | 欧美成人一区二区三区片免费 | 999在线视频 | 国产真实精品久久二三区 | 色免费观看 | 精品欧美一区二区在线观看 | 精品国产乱码久久久久 | 综合久久久久久久 | 99国产精品视频免费观看一公开 | 久久中出 | 午夜亚洲| 成人黄色av网站 | 色综合久久88色综合天天6 | av免费网站在线观看 | a黄色网| 日韩成人影院在线 | 欧美日韩精品一区二区三区 | 欧美日韩一区二区三区视频 | 欧美激情视频一区二区三区不卡 | 男女网站在线观看 | 亚洲一区二区精品 | 一区日韩 |