2011-06-03 9 views
30

मान लीजिए कि मेरे पास OrderNo है, जिसमें AO025631 तालिका shipment है।ऑरैकल क्वेरी में स्ट्रिंग के पहले दो अक्षर कैसे प्राप्त करें?

मैं तालिका से पूछताछ करने की कोशिश कर रहा हूं ताकि मैं कॉलम मान के पहले दो अक्षर प्राप्त कर सकूं यानी AO

क्या मैं इसे SQL क्वेरी में ही कर सकता हूं?

उत्तर

60

substr(documentation):

SELECT SUBSTR(OrderNo, 1, 2) As NewColumnName from shipment 

चुने जाने पर, यह किसी भी अन्य स्तंभ की तरह है। आप इसे (As कीवर्ड के साथ) एक नाम देना चाहिए, और आप एक ही बयान में अन्य स्तंभों का चयन किया जा सकता है:

SELECT SUBSTR(OrderNo, 1, 2) As NewColumnName, column2, ... from shipment 
+3

क्या आप कृपया 1 और 2 की व्याख्या करेंगे? क्या यह इंडेक्स शुरू करना और समाप्त करना है? – Vivek

+0

दूसरा तर्क प्रारंभिक सूचकांक है, जो 1 आधारित है (यानी 1 पहला अक्षर है, 2 दूसरा है)। तीसरा तर्क उस सूचकांक से घटने के लिए वर्णों की संख्या है, आपके मामले में आप पहले दो चाहते हैं। – Datajam

+3

'SUBSTR' = substring। 'Arg1' = कॉलमनाम, 'Arg2': जिस स्थिति पर लौटाई गई स्ट्रिंग का पहला अक्षर शुरू होता है। 'Arg3': लौटाई गई स्ट्रिंग की लंबाई। तो आपके मामले में, आप 'AO025631' =>' Arg2 = 1' की शुरुआत से शुरू करना चाहते हैं और आप 2 अक्षर => 'Arg3 = 2' चाहते हैं। * अधिक स्पष्टीकरण के लिए मेरी प्रतिक्रिया में दिए गए लिंक का पालन करें * – manji

8
select substr(orderno,1,2) from shipment; 

आप documentation भी पर एक नजर है कर सकते हैं।

6

एक नज़र here

SELECT SUBSTR('Take the first four characters', 1, 4) FIRST_FOUR FROM DUAL; 
5

प्रयास करें शिपमेंट से चुनें substr (orderno, 1,2) ले;

5

बस SUBSTR फ़ंक्शन का उपयोग करें। इसमें 3 पैरामीटर लगते हैं: स्ट्रिंग कॉलम नाम, इंडेक्स और सबस्ट्रिंग की लंबाई शुरू करना:

select SUBSTR(OrderNo, 1, 2) FROM shipment; 
संबंधित मुद्दे