2012-10-25 17 views
11

कॉलम में मूल्य की वास्तविक लंबाई कैसे प्राप्त करें?कॉलम मान की लंबाई प्राप्त करें, कॉलम की अधिकतम लंबाई

मेरा (ऑरैकल) एसक्यूएल कमांड मूल्य की वास्तविक लंबाई के बजाय स्तंभ में डाला जा सकता है जो अधिकतम लंबाई देता है।

इसे कैसे ठीक करें?

SQL> SELECT typ, length(t1.typ) 
    FROM AUTA_VIEW t1; 

TYP  LENGTH(T1.TYP) 
---------- -------------- 
BMW     10 
BMW     10 
BMW     10 
Ferrari    10 
BMW     10 
Audi     10 
Audi     10 
Audi     10 
Ferrari    10 
Ferrari    10 
Mercedes    10 
+3

क्या आपका कॉलम TYP एक चार्ज डेटाटाइप है? CHAR एक निश्चित लंबाई है। यदि यह एक VARCHAR2 है तो आपकी क्वेरी को काम करना चाहिए। – OraNob

+0

@oraNob अच्छी पकड़ - किसी भी मामले में, CHIM का उपयोग करते समय ट्रिम() दृष्टिकोण भी काम करता है। –

उत्तर

21

LENGTH() स्ट्रिंग लंबाई (बस सत्यापित) वापसी करता है। मुझे लगता है कि आपका डेटा रिक्त स्थान के साथ गद्देदार है -

SELECT typ, LENGTH(TRIM(t1.typ)) 
FROM AUTA_VIEW t1; 

इसके बजाय प्रयास करें।

OraNob का उल्लेख किया गया है, एक और कारण यह हो सकता है कि CHAR का उपयोग LENGTH() में किया जाता है, जिसमें कॉलम चौड़ाई भी होती है, स्ट्रिंग लंबाई नहीं। हालांकि, इस मामले में TRIM() दृष्टिकोण भी काम करता है।

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