web-dev-qa-db-fra.com

Oracle SQL, concaténer plusieurs colonnes + ajouter du texte

Donc, je veux essentiellement afficher ceci (toute la ligne dans UNE colonne):

J'aime les gâteaux de type [colonne] avec [colonne de glaçage] et une [colonne de fruits].

Le résultat devrait être:

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.

J'ai besoin d'une sorte d'instruction TO_CHAR qui fait ([column] "du texte" [column]) "new_column_name";

Qu'est-ce que je suis supposé savoir?

90
Thundordan

Vous avez deux options pour concaténer des chaînes dans Oracle:

Exemple CONCAT:

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

En utilisant || exemple:

'I like ' || t.type_desc_column || ' cake with ' || t.icing_desc_column || ' and a ' || t.fruit_desc_column
131
OMG Ponies
65
Shankar R10N
select 'i like' || type_column || ' with' ect....
29
Dani

La requête ci-dessous fonctionne pour moi @ Oracle 10G ----

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

O/P -

1111 [email protected] 4th street-capetown-sa

25
Chaits

Essaye ça:

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

Il devrait concaténer toutes ces données en une entrée de colonne unique nommée "Cake_Column".

8
SandPiper

La fonction Oracle/PLSQLCONCAT permet de concaténer deux chaînes.

CONCAT( string1, string2 )

chaîne1

La première chaîne à concaténer.

chaîne2

La deuxième chaîne à concaténer.

Par exemple.

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