2011-01-11 13 views
7

एसक्यूएल सर्वर टी-एसक्यूएल पैरालांस में बहुत आसानी से, आप नंबर 9 को स्ट्रिंग N'00009 'में कैसे परिवर्तित करते हैं?आप गद्देदार शून्यों के साथ एक स्ट्रिंग में संख्या को कैसे प्रारूपित करते हैं?

+3

आमतौर पर, आप अपने यूआई को यह काम करने देंगे ... –

+2

आम तौर पर, मैं अपने मध्य स्तर को यह काम नहीं करता हूं, यह मेरा यूआई नहीं है, लेकिन इस मामले में, यह काम नहीं करेगा, इसलिए मैं सवाल पूछ रहा हूं। – Jordan

उत्तर

18

आप

SELECT RIGHT('00000' + CAST(number AS NVARCHAR), 5) 

परिणाम कोशिश एक स्ट्रिंग, नहीं एक नंबर टाइप हो जाएगा कर सकते हैं।

+0

शानदार, यह खूबसूरती से काम करता है। :) धन्यवाद – Jordan

+0

मुझे यकीन नहीं है, क्या यह काम करता है यदि संख्या '143' है? क्या '00143' वापस किया जाएगा या' 00000143' होगा? @ जोर्डन: 'lpad' और' rpad' के कार्यान्वयन को देखने के लिए "एसक्यूएल सर्वर पैडिंग फ़ंक्शन" के लिए Google- खोज। आमतौर पर 'प्रतिकृति' और 'लेन' का उपयोग लगता है। – FrustratedWithFormsDesigner

+1

@ फ्रस्टेड - नहीं, यह समामेलन के बाद केवल 5 सबसे सही वर्ण लेता है। –

1

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

SELECT REPLICATE('0',5-LEN('9'))+'9' 

परिणाम स्ट्रिंग

+1

इस तरह कुछ और बेहतर काम करेगा: 'चयन प्रतिलिपि (' 0 ', 5-एलईएन (सीएएसटी (संख्या एएस एनवीएआरएआरएआर)) + सीएएसटी (संख्या एएस एनवीएआरएआरएआरएआर) ' – Jordan

1

है आप एसक्यूएल सर्वर पर हैं, तो 2012 या बाद में, आप भी FORMAT फ़ंक्शन का उपयोग कर सकते हैं:

SELECT FORMAT(1, '00000') AS PaddedNumber 

यह अच्छी तरह से सभी प्रकार की सामग्री स्वरूपित करता है ...

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

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