Ich verwende MySQL und MySQL Workbench 5.2 CE. Wenn ich versuche , 2 Spalten zu verketten, last_name
und first_name
es funktioniert nicht:
select first_name + last_name as "Name" from test.student
Ich verwende MySQL und MySQL Workbench 5.2 CE. Wenn ich versuche , 2 Spalten zu verketten, last_name
und first_name
es funktioniert nicht:
select first_name + last_name as "Name" from test.student
Antworten:
MySQL unterscheidet sich von den meisten DBMS, die +
oder ||
für die Verkettung verwenden. Es verwendet die CONCAT
Funktion:
SELECT CONCAT(first_name, " ", last_name) AS Name FROM test.student
Wie @eggyal in den Kommentaren hervorhob, können Sie die Verkettung von Zeichenfolgen mit dem ||
Operator in MySQL aktivieren, indem Sie den PIPES_AS_CONCAT
SQL-Modus festlegen .
||
für String - Verkettung, wenn der PIPES_AS_CONCAT
SQL - Modus aktiviert ist.
Doctrine
, die verwenden , musste ich einfache Anführungszeichen für den Platz in CONCAT
und doppelte Anführungszeichen für die gesamte Abfrage verwenden.
PIPES_AS_CONCAT
: SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',PIPES_AS_CONCAT');
. Zum Deaktivieren : SET @@SQL_MODE = REPLACE(@@SQL_MODE, 'PIPES_AS_CONCAT', '');
. Weitere Beispiele unter mariadb.com/kb/en/library/sql-mode/#examples
Das ist nicht der Weg, um sich in MYSQL zu konzentrieren. Verwenden Sie die CONCAT-Funktion. Schauen Sie hier: http://dev.mysql.com/doc/refman/4.1/en/string-functions.html#function_concat