[SQL ] 如何判斷語法在環境中的可行性?

看板Database (資料庫)作者 (社會黑暗、行路難)時間5年前 (2019/08/10 22:20), 編輯推噓0(004)
留言4則, 1人參與, 5年前最新討論串1/1
最近在精進一些SQL語法時,實際操作才發現語法不是任何環境都可以。 就我的理解,在MS-SQL、MySQL、及PostgreSQL的大部分語言都一樣,但是有些語法只能用在一個裡面。 例如: rank () over (order by...) dense_rank () over (order by...) 這語法我在MySQL無法執行,後來才發現這好像只有PostgreSQL才能用……。 還有,由於我公司的DB受制於cetus,有些語法又不能用,例如某些條件下的join……。 通常大家是怎麼判斷,有時query出現錯誤訊息,不是因為寫錯,而是因為該環境不允許? 類似這樣的事情實在很惱人…簡單的語法很多時候就變成要繞一大圈。 ----- Sent from JPTT on my Sony G3226. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.155.200 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1565446806.A.472.html

08/16 03:09, 5年前 , 1F
不會有這個困擾耶…噴錯誤的時候就會懷疑沒支援了
08/16 03:09, 1F

08/16 03:10, 5年前 , 2F
用久了大概都知道哪些語法比較特殊 各資料庫用法不同
08/16 03:10, 2F

08/16 03:12, 5年前 , 3F
要用的時候都會先查一下 例如 rank over MySQL
08/16 03:12, 3F

08/16 03:13, 5年前 , 4F
確認可以才會用 更何況還有資料庫版本的問題
08/16 03:13, 4F
文章代碼(AID): #1TJjAMHo (Database)
文章代碼(AID): #1TJjAMHo (Database)