मैं एसक्यूएल में एक गैर-संख्यात्मक क्षेत्र से अग्रणी शून्यों को ट्रिम करने की कोशिश करने की दिलचस्प समस्या में आया। (चूंकि यह वर्ण हो सकते हैं, यह सिर्फ एक संख्या में बदला नहीं जा सकता है और फिर वापस।)एसक्यूएल फ़ील्ड से अग्रणी शून्यों को ट्रिम करने के लिए एल्गोरिदम?
इसी को हम का उपयोग कर समाप्त हो गया है:
SELECT REPLACE(LTRIM(REPLACE(fieldWithLeadingZeroes,'0',' ')),' ','0')
यह रिक्त स्थान के साथ शून्य की जगह, ट्रिम्स छोड़ दिया यह, और फिर शून्य को वापस रखता है। मैंने सोचा कि यह करने के लिए यह एक बहुत चालाक और दिलचस्प तरीका था, हालांकि अगर आप पहले कभी नहीं आते हैं तो इतना पठनीय नहीं है।
क्या ऐसा करने के कोई स्पष्ट तरीके हैं? ऐसा करने के लिए और अधिक कुशल तरीके? या इस अवधि को करने के किसी अन्य तरीके? मैं इस समस्या से चिंतित था और इसके आसपास होने के किसी भी तरीके को देखने में दिलचस्पी होगी।
चालाक अगर फ़ील्ड में कभी भी – John
@ जॉन - सच से शुरू करने के लिए कोई स्थान नहीं है। इस मामले में यह नहीं है। यह एक आईडी फ़ील्ड है जिसमें अक्षरों या संख्याएं हो सकती हैं। – froadie
हम्मम्म मैं अधिक उत्तरों की उम्मीद कर रहा था। क्या ऐसा करने के लिए वास्तव में कोई और तरीका नहीं है? – froadie