टी-एसक्यूएल: सी # शैली के समान स्वरूपित करने के लिए "संख्यात्मक" स्वरूपण {0: #। 00 ####} - एसक्यूएल, एसक्यूएल-सर्वर

एसक्यूएल सर्वर प्रारूपित करने का कोई आसान तरीका है सांख्यिक (18,6) सी # एस के समान स्वरूपित करने के लिए डेटा प्रकार {0:। # 00 ####} लेकिन टी-एसक्यूएल में?

जैसे

  1. 12.550000 12.55 उत्पादन करना चाहिए।
  2. 14.456700 14.4567 का उत्पादन करना चाहिए।
  3. 15.00 15.00 उत्पादन करना चाहिए।

उत्तर:

जवाब के लिए 0 № 1

जैसा कि एचएलजीईएम कहता है, यह इस तरह की चीजें सामने के अंत में करने के लिए सबसे अच्छा है, लेकिन किक के लिए, निम्न कोड काम करता प्रतीत होता है। हालांकि इसे करने का शायद एक बेहतर तरीका है।

REPLACE(
RTRIM(
REPLACE(
CAST(@test AS VARCHAR), "0", " "
)
), " ", "0"
) +
CASE
WHEN @test = FLOOR(@test) THEN "00"
WHEN FLOOR(@test*10) = @test * 10 THEN "0"
ELSE ""
END

जवाब के लिए 3 № 2

स्पष्ट रूप से इस प्रकार का स्वरूपण एसक्यूएल में नहीं आवेदन द्वारा किया जाता है। एसक्यूएल डेटा एक्सेस के लिए है और डेटा की सामग्री को प्रभावित करने के लिए, यह किसी भी प्रारूपण में वास्तव में अच्छा नहीं है।


उत्तर № 3 के लिए 1

".00" पीछे छेड़छाड़ के बिना थोड़ा अलग मामला:

CAST(CAST(@val AS REAL) AS VARCHAR)
  1. 12.550000 12.55 का उत्पादन करेगा।
  2. 14.456700 14.4567 का उत्पादन करेगा।
  3. 15.00 15 उत्पादन करेगा।

जवाब के लिए 0 № 4

वहाँ है CONVERT () तथा कास्ट () कार्यों

SELECT CAST(@val AS numeric(18,6))

SELECT CAST(@val AS decimal(18,6))

मैं एक देशी टी-एसक्यूएल प्रारूप स्ट्रिंग में नहीं आया हूं, लेकिन 2005 के बाद, मुझे यकीन है कि आप अपनी पसंद की .NET भाषा में लिखे गए सीएलआर यूडीएफ के साथ कुछ लागू कर सकते हैं।


संबंधित सवाल
सबसे लोकप्रिय