Manchmal ist es erforderlich, die Ergebnisse mehrerer verschiedener Felder zu kombinieren (kaskadieren). In jeder Datenbank gibt es dazu eine Methode:
- MySQL: CONCAT()
- Oracle: CONCAT(), ||
- SQL Server: +
Die Syntax für CONCAT() sieht folgendermaßen aus:
CONCAT(str1, str2, str3, ...): Die Zeichenketten str1, str2, str3 und alle weiteren Zeichenketten werden zusammengefasst. Beachten Sie bitte, dass die Funktion CONCAT() in Oracle nur zwei Argumente erlaubt, es lassen sich damit nur jeweils zwei Zeichenketten gleichzeitig zusammenfügen. Zur Kaskadierung von mehr als zwei Zeichenketten gibt es jedoch in Oracle die Funktion '||'.
Sehen wir uns einige Beispiele an. Dabei gehen wir von folgender Tabelle aus:
Tabelle Geography
| region_name |
store_name |
| East |
Boston |
| East |
New York |
| West |
Los Angeles |
| West |
San Diego |
Beispiel 1:
MySQL/Oracle:
SELECT CONCAT(region_name,store_name) FROM Geography
WHERE store_name = 'Boston';
Ergebnis:
'EastBoston'
Beispiel 2:
Oracle:
SELECT region_name || ' ' || store_name FROM Geography
WHERE store_name = 'Boston';
Ergebnis:
'East Boston'
Beispiel 3:
SQL Server:
SELECT region_name + ' ' + store_name FROM Geography
WHERE store_name = 'Boston';
Ergebnis:
'East Boston'