एक स्थिति उत्पन्न हुई है जहां मुझे SQL कथन के संदर्भ में आधार 10 रूपांतरण के लिए आधार 36 करने की आवश्यकता है। इस तरह की चीज को हल करने के लिए ओरेकल 9, या ओरेकल 10 में निर्मित कुछ भी नहीं दिखता है। मेरा Google-Fu, और AskTom कार्य से निपटने के लिए एक pl/sql फ़ंक्शन बनाने का सुझाव देता है। यह इस बिंदु पर मेरे लिए एक विकल्प नहीं है। मैं इस मुद्दे को हल करने में मेरी सहायता करने के लिए एक दृष्टिकोण पर सुझाव ढूंढ रहा हूं।SQL 36 का उपयोग कर बेस 10 से बेस 10 रूपांतरण केवल
एक दृश्य के रूप में डाल करने के लिए ...
WITH
Base36Values AS
(
SELECT 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' myBase36 FROM DUAL
),
TestValues AS
(
SELECT '01Z' BASE36_VALUE,
71 BASE10_VALUE FROM DUAL
)
SELECT *
FROM Base36Values,
TestValues
मैं कुछ मूल्य 71, इनपुट 01Z के आधार पर गणना करने के लिए देख रहा हूँ। संपादित करें - यह पीछे की तरफ है ... दिया गया 01Z इसे 71 तक अनुवादित करता है।
रिश्वत के रूप में, प्रत्येक उपयोगी उत्तर को मुफ्त अपवॉट मिलता है।
धन्यवाद
ईविल।
मैं सिर्फ उत्सुक हूं (मैं हमेशा डेटा स्टोर करने के लिए अलग-अलग आधारों का उपयोग करने का बहाना ढूंढना चाहता हूं); आधार 36 डेटा के लिए क्या उपयोग किया जाता है? –
और मुझे उत्सुकता है कि इसे एसक्यूएल में क्यों किया जाना है, यह वास्तव में आम नहीं है। –
आधार 36 का लाभ यह है कि आप एक एम्बेडेड डिवाइस का उपयोग कर सकते हैं जिसमें इनपुट प्रदान करने के लिए सीमित कीबोर्ड है। फिर, स्ट्रिंग के रूप में इसे बेस 36 के रूप में व्याख्या करना आकार के कारण अधिक कुशल है और इसके अलावा आप डिफ़ॉल्ट कार्यों का उपयोग करके इसके साथ गणना कर सकते हैं। – Henri