ओरेकल एसक्यूएल, कई कॉलम को जोड़ने + पाठ जोड़ें


102

इसलिए मैं मूल रूप से इसे (एक कॉलम में पूरी पंक्ति) प्रदर्शित करना चाहता हूं:

मुझे [आइसिंग कॉलम] और एक [फलों का कॉलम] वाला [टाइप कॉलम] केक पसंद है।

परिणाम होना चाहिए:

Cake_Column
----------------

I like chocolate cake with whipped_cream and a cherry.

I like strawberry cake with vanilla_cream and a lemon_slice.

etc.

etc.

मुझे कुछ प्रकार के TO_CHAR कथन की आवश्यकता है जो ([कॉलम] "कुछ टेक्स्ट" [कॉलम]) "new_column_name";

मैं क्या जानने वाला हूँ?

जवाबों:


145

आपके पास Oracle में स्ट्रेंथनिंग स्ट्रिंग के लिए दो विकल्प हैं:

CONCAT उदाहरण:

CONCAT(
  CONCAT(
    CONCAT(
      CONCAT(
        CONCAT('I like ', t.type_desc_column), 
        ' cake with '), 
      t.icing_desc_column),
    ' and a '),
  t.fruit_desc_column)

||उदाहरण का उपयोग करना :

'I like ' || t.type_desc_column || ' cake with ' || t.icing_desc_column || ' and a ' || t.fruit_desc_column

यह वास्तव में धीमा है (चलाने के लिए, वास्तव में टाइप करने के लिए नहीं)। क्या कोई बेहतर तरीका है?
पैट्रिक सज्जापस्की

1
यह बहुत बदसूरत है, एक बहुत पुराने ब्रांड DBMS के संबंध में। ओरेकल कैसे नहीं आता कई-तर्क-संस्करण कॉनसैट का समर्थन करते हैं? हालाँकि, शंकर के लिए धन्यवाद, एक || ऑपरेटर।
स्कॉट चू


36
select 'i like' || type_column || ' with' ect....

1
इस उत्तर के लिए बहुत बहुत धन्यवाद। मुझे 'पसंद है' || क्योंकि इससे SQL क्वेरी को बनाए रखना आसान हो जाता है।
जेसन TEPOORTEN

25

नीचे क्वेरी मेरे लिए काम करती है @ अंक 10 जी ----

select PHONE, CONTACT, (ADDR1 ||  '-' || ADDR2 || '-' || ADDR3) as Address
from CUSTOMER_DETAILS
where Code='341'; 

ओ / पी -

1111 abc@gmail.com 4th स्ट्रीट-कैपेटाउन-सा


10

Oracle/PLSQL CONCATसमारोह दो तार एक साथ जोड़ सकते हैं।

CONCAT( string1, string2 )

string1

समतल करने के लिए पहला तार।

string2

समतल करने के लिए दूसरा तार।

उदाहरण के लिए

SELECT 'I like ' || type_column_name || ' cake with ' || 
icing_column_name || ' and a ' fruit_column_name || '.' 
AS Cake FROM table;

8

इसे इस्तेमाल करे:

SELECT 'I like ' || type_column_name || ' cake with ' || 
icing_column_name || ' and a ' fruit_column_name || '.' 
AS Cake_Column FROM your_table_name;

इसे "Cake_Column" नाम के एकल स्तंभ प्रविष्टि के रूप में सभी डेटा को संक्षिप्त करना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.