मैं VARCHAR2 क्षेत्रों में और तुलनात्मक मुद्दों के साथ अतिरिक्त रिक्त स्थान के बारे में चिंतित हूं। मुझे पता है कि उन्हें ट्रिम करके या परिवर्तित करके उनकी तुलना करने के तरीके हैं, लेकिन मुझे डर है कि यह मेरे कोड को गन्दा और छोटा बना देगा।
यह वास्तव में बिल्कुल विपरीत है। CHAR का उपयोग करने से आपके स्ट्रिंग्स को रिक्त स्थान के साथ पैडिंग करके एक निश्चित लंबाई होने के लिए मजबूर किया जाएगा यदि वे बहुत छोटे हैं। तो जो भी ऐप डेटा का उपयोग कर रहा है, उसमें CHARs की नियमित स्ट्रिंग्स से तुलना करते समय, उस ऐप को हर बार एक ट्रिम जोड़ने की आवश्यकता होगी। दूसरे शब्दों में, VARCHAR2 वह विकल्प है जो स्वाभाविक रूप से क्लीनर कोड की ओर ले जाता है।
सामान्य तौर पर आपको हमेशा . चाहिए VARCHAR2 का उपयोग करें, जब तक कि आपके पास कोई विशिष्ट कारण न हो कि आप CHAR कॉलम क्यों चाहते हैं।
यदि आप उन स्ट्रिंग्स के बारे में चिंतित हैं जिनमें आगे या अंत में अतिरिक्त स्थान हैं, तो कुछ विकल्प हैं जो दिमाग में आते हैं:
- सुनिश्चित करें कि जो भी प्रक्रिया इन्सर्ट कर रही है वह डालने से पहले उन पर एक ट्रिम कर दे।
- कॉलम पर एक चेक बाधा जोड़ें जो सुनिश्चित करता है कि string =trim(string)।
- इन्सर्ट करने से पहले पंक्ति-स्तरीय ट्रिगर जोड़ें जो स्ट्रिंग्स को सम्मिलित करते ही ट्रिम कर देता है।
- सुनिश्चित करें कि जब भी आप टेबल को क्वेरी करें तो स्ट्रिंग्स को ट्रिम करें