Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

तालिका नाम के चारों ओर उद्धरण चिह्न वास्तव में क्या करते हैं?

Oracle में एक पहचानकर्ता के चारों ओर दोहरे-उद्धरण डालने से Oracle पहचानकर्ता को केस-असंवेदनशीलता के डिफ़ॉल्ट का उपयोग करने के बजाय संवेदनशील के रूप में मानता है। यदि आप नाम के चारों ओर डबल-कोट्स के साथ एक टेबल (या कॉलम) बनाते हैं, तो आपको हमेशा डबल कोट्स के साथ पहचानकर्ता को संदर्भित करना चाहिए और मामले को सही ढंग से निर्दिष्ट करके (सभी अपर केस आइडेंटिफ़ायर के अपवाद के साथ, जहां डबल-कोट्स अर्थहीन हैं )।

कवर के तहत, Oracle हमेशा केस-संवेदी पहचानकर्ता मिलान कर रहा है। लेकिन यह हमेशा उन पहचानकर्ताओं को रखता है जो मिलान करने से पहले ऊपरी मामले में डबल-उद्धृत नहीं होते हैं। यदि आप किसी पहचानकर्ता के चारों ओर दोहरे उद्धरण चिह्न लगाते हैं, तो Oracle कास्टिंग को अपर केस पर छोड़ देता है।

तो अगर आप ऐसा कुछ करते हैं

CREATE TABLE my_table( 
  col1 number,
  col2 number
)

आप कर सकते हैं

SELECT * FROM my_table
SELECT * FROM MY_TABLE
SELECT * FROM My_Table
SELECT * FROM "MY_TABLE"

लेकिन कुछ ऐसा है

SELECT * FROM "my_table" 

विफल हो जाएगा।

दूसरी ओर, यदि आप कुछ ऐसा करते हैं

CREATE TABLE "my_other_table"( 
  col1 number,
  col2 number
)

आप नहीं कर सकते

SELECT * FROM my_other_table
SELECT * FROM MY_OTHER_TABLE
SELECT * FROM My_Other_Table
SELECT * FROM "MY_OTHER_TABLE"

लेकिन यह

SELECT * FROM "my_other_table" 

काम करेगा



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जब ऑरैकल डीबी में फारसी चरित्र डालें तो मुझे प्रश्न चिह्न दिखाई देता है

  2. क्या Oracle में फ़िल्टर्ड इंडेक्स अवधारणा है?

  3. यह निर्धारित करना कि Oracle में फ़ील्ड डेटा संख्या प्रकार का है

  4. USER() और SYS_CONTEXT('USERENV', 'CURRENT_USER') में क्या अंतर है?

  5. ओरेकल में मिलीसेकंड के साथ स्ट्रिंग टू डेट