2010-07-19 10 views
7

संभव डुप्लिकेट:
Why should I capitalize my SQL keywords?अपरकेस में एसक्यूएल प्रविष्टियां क्यों लिखी गई हैं?

हाय,

मैं बहुत एसक्यूएल के लिए नया हूँ, लेकिन मैंने देखा है कि लेखन

SELECT * FROM column_name 

लगभग है हमेशा उपयोग किया जाता है जब

select * from column_name 

बिल्कुल वही परिणाम उत्पन्न करता है। मुझे इसके बारे में कुछ भी ऑनलाइन नहीं मिल रहा है। क्या यह सिर्फ एक सम्मेलन है? या पुराने सिस्टम/सिस्टम पर स्क्रिप्ट को अपरकेस को तोड़ने का उपयोग नहीं करेगा जिसे मैं नहीं जानता?

धन्यवाद

उत्तर

6

एसक्यूएल 1970 के दशक में जब लोकप्रिय प्रोग्रामिंग भाषाओं (कोबोल) की तरह सभी कैप्स इस्तेमाल किया में विकसित किया गया था, और सम्मेलन फंस गया होगा।

2

वे पूरी तरह से समकक्ष हैं, अपरकेस सिर्फ क्वेरी को पढ़ने में आसान बनाता है।

2

ऐसा इसलिए है क्योंकि यह एएनएसआई मानक में परिभाषित किया गया है। खंड 5 लेक्सिकल तत्व देखें, मुझे लगता है कि यह वहां से पकड़ा गया है।

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

1

सूचना यह वास्तव में अपने एसक्यूएल डेटाबेस कार्यान्वयन के आधार पर किया जाता है। ओरेकल सब कुछ अपरकेस में बदलने के लिए जाता है। इसके विपरीत Postgresql, एसक्यूएल कीवर्ड या कॉलम पहचानकर्ता को लोअरकेस में परिवर्तित करेगा। idendifiers (टेबल, कॉलम, ...) के लिए आप अपने डेटाबेस को डबल-कोटिंग करके "चालाक" होने से रोक सकते हैं।

MyTable से "TeST" का चयन करें;

का अनुवाद ओरेकल में "टेस्ट" को चुनने के लिए किया जाएगा; और पोस्टग्रेस्क्ल में mytable से "TeST" का चयन करने के लिए;

उदाहरण के लिए जेडीबीसी का उपयोग करते समय इस व्यवहार पर विचार करें, क्योंकि परिणामसेट में प्राप्त कॉलम नाम भी इन नियमों का पालन करेंगे, इसलिए यदि आप पोर्टेबिलिटी पर विचार करते हैं तो डबल-कोटिंग पहचानकर्ता एक अच्छा अभ्यास हो सकते हैं।

संबंधित मुद्दे