2012-02-27 11 views
5

से स्ट्रिंग को पढ़ने के लिए कैसे एक तालिका स्तंभ में, मैं यह मान है:सही PLSQL

DV-2011-01-000004

मैं कैसे का हिस्सा प्राप्त कर सकते हैं (डेटा प्रकार varchar2 है) स्ट्रिंग '000004'? टी-एसक्यूएल में उनके पास यह सही() फ़ंक्शन है लेकिन पीएल एसक्यूएल में मैं टी-एसक्यूएल में दाएं() की तरह फ़ंक्शन ढूंढ सकता हूं।

सहायता के लिए धन्यवाद।

+2

आदेश है कि इस सवाल का भविष्य डेवलपर्स में मदद मिल सकती में: राज्य के लिए वास्तव में क्या आपकी आवश्यकता था अपने प्रश्न संपादित करें - आप करते हैं अंतिम '-' के बाद वर्णों की स्ट्रिंग प्राप्त करना चाहते हैं, या आप केवल 6 वर्ण प्राप्त करना चाहते हैं? –

उत्तर

8
substr('DV-2011-01-000004', length('DV-2011-01-000004')-6 + 1) 
+0

के लिए नहीं, मुझे लगता है कि वह सामान्य उपयोग के लिए है, न केवल अब के लिए .. –

+0

टी-एसक्यूएल में दाएं() एसएसस्ट्रेट (लंबाई - आवश्यक) – turbanoff

+0

ठीक है वह निर्णय लेता है, मैं आमतौर पर सामान्य समाधान के लिए हूं और विशिष्ट नहीं। –

2

आप का उपयोग कर सकते हैं:

SUBSTR('DV-2011-01-000004', INSTR('DV-2011-01-000004', '-', -1) +1) 

जब नकारात्मक शुरुआत स्थिति के साथ INSTR का उपयोग कर वह के अंतिम सूचकांक मिलेगा "-"। तो SUBSTR अंत तक इस घटना से कट जाएगा (क्योंकि मैं लंबाई की आपूर्ति नहीं की थी)

+0

pl/sql डबल कोट्स में पहचानकर्ताओं के लिए उपयोग किया जाता है, स्ट्रिंग – turbanoff

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