Мне нужна альтернативная функция CONCAT
в SQL. Причина в том, что меня просят в школьном проекте иметь возможность использовать, например, альтернативу уже упомянутой функции в следующем поиске:
SELECT CONCAT(A.NOMBRE, A.A_PATERNO, A.A_MATERNO) NOMBRE, M.NOMBRE
FROM ALUMNOS A, MATERIAS M, CALIFICACIONES C
WHERE A.NUM_CONTROL=C.NUM_CONTROL AND M.CVE_MATERIA=C.CVE_MATERIA;
В MySQL вы можете конкатенировать несколькими способами:
Использование
CONCAT()
, которое возвращает строку, полученную в результате объединения/конкатенации параметров. Это самый распространенный метод, но его следует избегать. Пример:Использование
CONCAT_WS()
, которое возвращает строку, полученную в результате объединения параметров с использованием первого в качестве соединителя между другими (это вариант,CONCAT()
но с разделителем, отсюда иWS
: With Separator ). Пример:Используя pipe (
||
) , вы можете указать MySQL использовать каналы для конкатенации с использованием режимаPIPES_AS_CONCAT
( , или , , илиANSI
режимы также подойдут, хотя последние 5 устарели и не должны использоваться ). Пример:DB2
MAXDB
MSSQL
ORACLE
POSTGRESQL
Все три варианта выше вернут один и тот же результат. Я создал пример в DB Fiddle , где вы можете увидеть, как работают все три метода.
Вы можете использовать + для конкатенации: