मेरे पास निम्न तालिका है:

आदेश (ओ)

id   name            price       quantity
---------------------------------------------
1    Candy           0.69        5
2    Brownies        5.99        1

मैं वर्तमान में यह प्रश्न कर रहा हूं:

SELECT o.id, CONCAT(o.price, ' * ', o.quantity) AS formula
FROM orders o

यह काम करता है लेकिन मुझे निम्नलिखित परिणाम मिलते हैं:

id    formula
---------------------------------------
1     .69 * 5
2     5.99 * 1

.69 के बजाय 0.69 पाने के लिए मुझे क्वेरी में क्या बदलाव करने होंगे?

0
Patrick Gregorio 9 मार्च 2016, 17:44
To_char (कीमत, '9999.99')
 – 
SkyWalker
9 मार्च 2016, 17:46

1 उत्तर

सबसे बढ़िया उत्तर

स्ट्रिंग को किसी संख्या में बदलने के लिए आप to_char() का उपयोग कर सकते हैं। ए 0 में अग्रणी शून्य शामिल हैं:

SELECT o.id,
       (TO_CHAR(o.price, '0.00') || ' * ' || o.quantity) AS formula
FROM orders o;

Oracle में, concat() केवल दो तर्क लेता है। || संयोजन करने का अधिक पारंपरिक तरीका है।

2
Gordon Linoff 9 मार्च 2016, 17:47
काम किया, धन्यवाद! जैसा कि स्काईवॉकर ने उल्लेख किया है, '9999.99' के बजाय '0.00' का उपयोग करने में क्या अंतर है? उसका समाधान मेरे काम नहीं आया लेकिन तुम्हारा किया।
 – 
Patrick Gregorio
9 मार्च 2016, 17:54
1
प्रारूप मॉडल में अंतर यहां प्रलेखित है: docs.oracle। कॉम/सीडी/बी19306_01/सर्वर.102/बी14200/…
 – 
Michael Broughton
9 मार्च 2016, 18:42
1
. . . एक संख्यात्मक प्रारूप में 9 केवल किसी भी अंक का प्रतिनिधित्व करते हैं, लेकिन कोई अग्रणी शून्य नहीं। 0 हमेशा होते हैं, भले ही संख्या बहुत कम हो।
 – 
Gordon Linoff
10 मार्च 2016, 03:55