我需要 SQL 中的替代函数CONCAT
。原因是他们在学校项目中要求我能够使用例如以下搜索中已经提到的功能的替代方法:
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;
我需要 SQL 中的替代函数CONCAT
。原因是他们在学校项目中要求我能够使用例如以下搜索中已经提到的功能的替代方法:
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 中,您可以通过多种方式连接:
Using
CONCAT()
,它返回由参数的联合/连接产生的字符串。这是最常见的方法,但它是您要避免的方法。例子:Using
CONCAT_WS()
,它返回由参数联合产生的字符串,使用第一个作为其他参数之间的连接符(它是一个变体,CONCAT()
但带有分隔符,因此是WS
: With Separator)。例子:使用管道(
||
),您可以告诉 MySQL 使用管道连接使用模式PIPES_AS_CONCAT
(,或, ,或ANSI
模式也可以,尽管后 5 个已弃用且不应使用)。例子:DB2
MAXDB
MSSQL
ORACLE
POSTGRESQL
以上三个选项都将返回相同的结果。我在 DB Fiddle中创建了一个示例,您可以在其中看到所有三种方法都有效。
您可以使用 + 来连接: