2013-03-06 2 views
6

मैं table1 में रिकॉर्ड नीचे हैडीबी 2: समारोह मर्ज करने के लिए 3 स्तंभ उत्पादन

c1 c2 c3 
---------- 
A B C 

उत्पादन मैं के बीच में अंतरिक्ष के साथ c1 C2 और C3 मर्ज करने के लिए कैसे इतना उत्पादन

चाहते हैं एबीसी प्रयुक्त concat समारोह लेकिन इसकी तरह

select concat (c1,c2,c3) from table1 

मैं select * from table1 चलाने खिचड़ी भाषा के रूप में मैं वान 3 तर्क नहीं ले रही एक कॉलम में टी आउटपुट

उत्तर

9

यह कम से कम z/OS संस्करणों में काम करता है:

select c1 concat ' ' concat c2 concat ' ' concat c3 

डीबी 2 documentation

+1

समाधान के साथ-साथ डीबी 2 दस्तावेज के लिए धन्यवाद, यह वास्तव में मेरी मदद करता है। – Deepak

+1

आप 'concat' के स्थान पर' || 'का भी उपयोग कर सकते हैं। –

3

इसे आजमाएं।

select concat(concat (c1,c2),c3) from table1 
+0

यह cancat मेरी डीबी 2 v-9.7 में काम नहीं कर रहा है, वहाँ अधिक से अधिक 3 स्तंभ concat लिए किसी भी तरह – Deepak

+0

मैं ज्यादा अनुभव नहीं है परिणाम है डीबी 2 के साथ, लेकिन मेरे संपादन में मदद करनी चाहिए .. – Mortalus

+0

मैंने तालिका 1' – Deepak

2

मैं हाल ही में एक ही समस्या भर में आया था के बारे में जानें, मैं प्रयोग किया जाता है || (डबल पाइप) कॉलम से जुड़ाव करने के लिए।

मुझे इस मुद्दे को खत्म करने के लिए मेरी क्वेरी में एक रैपर लिखना पड़ा।

नीचे मेरे प्रश्नों की अंत में क्या दिखता है इसका एक स्निपेट नीचे है।

select a1 || a2 as a2, a3 || a4 as a4 --wrapper 2 
from (
select '"service":"' as a1,a2, '","total":' as a3, a4 --wrapper 1 
from (
select distinct(a2),count(*) as a4 
from abc.table 
group by a2 
order by a2) 
); 

नीचे क्या ouput क्वेरी से किया गया है:

"service":"ABC" , "total":123 
+0

पाइप वे मेरे लिए जाने का रास्ता था! –

0

मैं एसक्यूएल से डीबी 2 में परिवर्तित करने के साथ एक मुद्दा था। इस पृष्ठ में मदद की है, लेकिन मैं एक छोटे से परिवर्तन करने के समाप्त हो गया:

SELECT 
RTRIM(C1) || '' || C2 as CFULL 
FROM TABLE 
संबंधित मुद्दे