Używam MySQL i MySQL Workbench 5.2 CE. Kiedy próbuję połączyć 2 kolumny last_name
i first_name
to nie działa:
select first_name + last_name as "Name" from test.student
mysql
mysql-workbench
concat
Roshan
źródło
źródło
Odpowiedzi:
MySQL różni się od większości DBMS używających
+
lub||
do konkatenacji. WykorzystujeCONCAT
funkcję:Jak @eggyal wskazał w komentarzach, można włączyć konkatenację ciągów z
||
operatorem w MySQL, ustawiającPIPES_AS_CONCAT
tryb SQL.źródło
||
dla łańcuchów znaków, gdyPIPES_AS_CONCAT
włączony jest tryb SQL.Doctrine
musiałem użyć pojedynczych cudzysłowów dla spacjiCONCAT
i podwójnych cudzysłowów wokół całego zapytania.PIPES_AS_CONCAT
:SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',PIPES_AS_CONCAT');
. Aby rozbroić:SET @@SQL_MODE = REPLACE(@@SQL_MODE, 'PIPES_AS_CONCAT', '');
. Więcej przykładów na mariadb.com/kb/en/library/sql-mode/#examplesPróbować:
albo lepiej:
źródło
Użyj funkcji concat () zamiast
+
tego:źródło
To nie jest sposób na konkatowanie w MYSQL. Użyj funkcji CONCAT. Zajrzyj tutaj: http://dev.mysql.com/doc/refman/4.1/en/string-functions.html#function_concat
źródło