多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

sybase與oracle區別之Sql語法篇

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


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'

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成年人天堂 | 国产尤物在线观看 | 中文字幕精品一区二区精品 | 国产偷啪视频一区 | 羞羞羞网站| 香港aa三级久久三级不卡 | 欧美午夜三级我不卡在线观看 | 国产在线a不卡免费视频 | 亚洲欧美另类日本久久影院 | 69热视频| 亚洲国产天堂久久综合2261144 | 99久久精品国产国产毛片 | 久久精品一区二区三区不卡牛牛 | 免费一区二区三区四区 | 午夜五月天| 欧美 亚洲 校园 第一页 | 亚洲精品国产一区二区图片欧美 | 国产成人精品.一二区 | 好大好湿好硬顶到了好爽(双性) | 韩国三级一线观看久 | 亚洲精品国产福利 | 2022国产精品最新在线 | 中文字幕乱偷乱码亚洲 | 亚洲精选| 欧美性bbbbbxxxxx | 青草超级碰碰在线视频 | 美女毛片免费 | 68久久久久欧美精品观看 | 日本最猛黑人xxxx猛交 | 亚洲高清中文字幕一区二区三区 | 日韩精品国产精品 | 成人国产在线视频在线观看 | 手机免费在线视频 | 美女免费网站在线视频 | 亚洲图片在线欧美专区图片 | 日本成年一区久久综合 | a级亚洲片精品久久久久久久 | 欧美jizzhd精品欧美巨大 | 国产精品久久亚洲一区二区 | 欧美日韩精品一区二区在线线 | 亚洲成人贴图 |