2013-03-26 18 views
25

Nie znam operatora konkatenacji dla MySQL.Operator konkatenacji MySQL

Próbowałem ten kod do konkatenacji:

>>SELECT vend_name || ' (' || vend_country || ')' 
>>FROM Vendors 
>>ORDER BY vend_name; 

Ale to nie działa. Który operator powinienem użyć do łączenia ciągów?

+1

Dziś mam sobie sprawę, że coś takiego jak „Wybierz«Hello»«świat»AS col1,«z» 'MySQL AS col2 .... działa również –

+0

@ DiegoAndrésDíazEspinoza: To jest«połączeniem literałów sąsiedztwie ciągów» Czy to nie działa? To znaczy, że działa, gdy łączymy dwa ciągi literałów (być może dlatego, że są zbyt długie, aby zmieścić się na jednej linii) .To działa również, jeśli próbujesz połączyć kolumnę z literałem ciągu, jak w pytaniu? Spodziewałbym się, że odpowiedź brzmi "nie" –

+0

@ JonathanLeffler tak, jest to sąsiadujące konkatenacje literału ciągłego, dlatego był to tylko komentarz, a nie odpowiedź. Odpowiedź poniżej nie jest możliwa sąsiednie konkatenacje, jest to możliwe tylko podczas korzystania z CONCAT. –

Odpowiedz

34

uzywasz rodzaj wyroczni konkatenacji. MySQL powinny być

SELECT CONCAT(vend_name, '(', vend_country, ')') 

Wywołać funkcję CONCAT() i oddzielić wartości przecinkami.

11

Funkcja CONNAT MySQL służy do łączenia dwóch ciągów w jeden ciąg znaków. Wypróbuj następujący przykład:

mysql> SELECT CONCAT('FIRST ', 'SECOND'); 
+----------------------------+ 
| CONCAT('FIRST ', 'SECOND') | 
+----------------------------+ 
| FIRST SECOND    | 
+----------------------------+ 
1 row in set (0.00 sec) 

Aby zrozumieć funkcji CONCAT bardziej szczegółowo rozważyć tabeli employee_tbl który jest o następujące rekordy:

mysql> SELECT CONCAT(id, name, work_date) 
    -> FROM employee_tbl; 
+-----------------------------+ 
| CONCAT(id, name, work_date) | 
+-----------------------------+ 
| 1John2007-01-24    | 
| 2Ram2007-05-27    | 
| 3Jack2007-05-06    | 
| 3Jack2007-04-06    | 
| 4Jill2007-04-06    | 
| 5Zara2007-06-06    | 
| 5Zara2007-02-06    | 
+-----------------------------+ 
+0

Czy mysql nie ma żadnego operatora dla tego – user2201462

+0

jest to przykładowa linia poleceń dla zapytania –

0

Musisz ustawić rury jako konkat za każdym razem, zanim uruchomisz zapytanie, używając potoków jako konkatenowanego operatora.