मैंने ओरेकल पीएल/एसक्यूएल को लीज करना शुरू किया और मैंने ओरेकल डाटाबेस 10 जी एक्सप्रेस को उसी उदाहरण और प्रश्नों के साथ डाउनलोड किया।ओरेकल पीएल/एसक्यूएल स्ट्रिंग स्वरूपण
एक प्रश्न है जिसे मैं हल नहीं कर सका।
प्रश्न है: सबसे पहले की सभी घटनाओं को दूर:
पहला नाम पुनः प्राप्त करने के एक SQL क्वेरी, अंतिम नाम, और प्रत्येक कर्मचारी के कोड जहां एक कर्मचारी की कोड इस प्रकार पाया जाता है लिखें पात्र "i" और "l", फिर, नाम के पहले छः अक्षरों, एक डैश चिह्न "-", और अंतिम नाम के अंतिम छः वर्णों को सम्मिलित करें जहां कोड के चरित्र केवल पहले और अंतिम अपरकेस होना चाहिए। यदि नाम में छः अक्षर नहीं हैं, तो अंडरस्कोर ("") को टुकड़े के अंत में रखें; यदि अंतिम नाम में छः अक्षर नहीं हैं, तो अंडरस्कोर ("") को टुकड़े की शुरुआत में रखें। नाम के अनुसार अंतिम नाम के अनुसार सूची का ऑर्डर करें, और ।
आउटपुट तरह
मैं कुछ लिखा होना चाहिए, लेकिन यह totaly गलत और स्पष्ट नहीं है। मुझे किन हिस्सों को ठीक करना चाहिए?
SELECT employees.first_name, employees.last_name,
replace(replace(first_name,'l',''),'i'),
initcap(substr(rpad(employees.first_name,6,'_'),1,6)) || '-' ||
case when length(employees.last_name)>4
then lower(substr(employees.last_name,-5,4))
else lower(substr(lpad(employees.last_name,5,'_'),-5,4)) end ||
upper(substr(employees.last_name,-1,1)) code
FROM employees
ORDER BY last_name, first_name;
यह मेरा निर्गम (गलत) है
'की जगह में (, की जगह (first_name, 'l' ''), 'मैं')' क्या आप ** ** के साथ की जगह "' मैं 'घ" कर रहे हैं वास्तव में? –
असल में मैं इसे शून्य या "" के साथ प्रतिस्थापित करना चाहता हूं, लेकिन अगर मैं प्रतिस्थापन चरित्र जोड़ता हूं तो यह "पैरामीटर संख्या बहुत अधिक है" के बारे में त्रुटि दे रहा है – hakiko
तो फिर क्यों नहीं? आपने खाली स्ट्रिंग के साथ "' l' "को क्यों बदल दिया है, लेकिन" i' "नहीं? –