अधिकांश SQL डेटाबेस एक हद तक ANSI SQL मानकों का पालन के बीच मतभेद की सूची है, लेकिनSQL डेटाबेस
मानक अस्पष्ट, कुछ क्षेत्रों व्याख्या के लिए खुला (छोड़ने जैसे है: संचालन कैसे अलग
NULLs
साथ होना चाहिए is ambiguous संभाला)कुछ दुकानदारों मानक एकमुश्त खंडन या सिर्फ मानक द्वारा परिभाषित कार्यक्षमता की कमी है (जैसे: MySQL मानक और उनके कार्यान्वयन)
जो
list of differences है
कुछ डेटाबेस अलग-अलग व्यवहार करेंगे कि वे कैसे कॉन्फ़िगर किए गए हैं, लेकिन कॉन्फ़िगरेशन को उसी तरह से व्यवहार करने के लिए बदला जा सकता है (उदाहरण के लिए: ओरेकल डिफ़ॉल्ट रूप से केस-संवेदनशील स्ट्रिंग तुलना करता है, जबकि SQL सर्वर उन्हें केस-असंवेदनशील करता है)
कि अलग-अलग नाम के साथ मानक का हिस्सा नहीं है लेकिन वैसे भी अलग RDBMSs द्वारा कार्यान्वित किया जाता है, हालांकि कुछ कार्यक्षमता नहीं है (जैसे: Oracle की
LISTAGG
= MySQL केGROUP_CONCAT
)
वहाँ एक व्यापक साथ एक संसाधन है जब आप लिखने की कोशिश कर रहे हों तो ध्यान देने के लिए quirks और gotchas की सूची ऐसा कुछ जो कई डेटाबेस के साथ संगत होना चाहिए?
+1 मूल्यवान प्रश्न। ध्यान देने योग्य एक बात यह है कि न केवल आपको संगतता के साथ समस्याएं आती हैं, आपको यह भी सुनिश्चित करने के लिए प्रमुख समर्थित आरडीबीएमएस पर अपने समाधानों का परीक्षण करने पर विचार करना चाहिए कि कोई अस्पष्ट प्रदर्शन हिट नहीं है और अभी तक कुछ भी अनियंत्रित नहीं है। दिन के अंत में आपको स्वयं को कवर करना चाहिए और कहें कि आप कौन से प्लेटफ़ॉर्म विशेष रूप से समर्थन करते हैं जबकि यह बताते हुए कि अन्य प्लेटफॉर्म बाद में समर्थित हो सकते हैं। – Seph
दरअसल एक मूल्यवान सवाल जो दुर्भाग्य से अनुत्तरित रहता है। – FDavidov
मुझे ओरेली एसक्यूएल त्वरित संदर्भ पसंद है क्योंकि यह मुझे कई बोलीभाषाओं के बीच कई प्रकार के वाक्यविन्यास और अंतर दिखाता है। दुर्भाग्यवश यह नई कार्यक्षमता के साथ एक चलती लक्ष्य है और जब भी नए संस्करण आते हैं तो परिवर्तन होते हैं। Http://sqlfiddle.com/ भी है जो आपको सर्वर के कई अलग-अलग संस्करणों (ऑरैकल, mysql, ...) और यहां तक कि किसी दिए गए सर्वर (MySQL 5.5 और 5.6) के संस्करणों को आज़माने देगा। – argoc