字符串连接操作:(函数的参数就是需要连接的字符串值。可以有n个参数)

1.concat()

如果要连接的列中有一个为空,则返回整个连接字符串为空

例11:

SELECT concat(last_name, job_id) “Employees” FROM employees;

mysql字符串hash MySQL字符串连接函数_sql


2.concat_ws():表示列之间有指定间隔返回,第一个参数为间隔参数

不会受其中任意一个列的影响,有空值时会忽略空值,其他列组合进行返回.

concat_ws()函数, 表示concat with separator,即有分隔符的字符串连接.

例13:连接后以逗号分隔

SELECT concat_ws(’,’ , ‘11’,‘22’,‘33’);

mysql字符串hash MySQL字符串连接函数_bc_02


3.||

需要sql_mode参数的支持,如果其中一个列为空,则整个字符串返回值为空.

要把两个字符串值首尾相连的连接起来,如果@@sql_mode中没有设置“PIPES_AS_CONCAT”,就不能使用oracle中的||操作符,只能使用concat函数或者concat_ws函数

例15:

SELECT ‘abc’||‘def’; --默认||是or操作

mysql字符串hash MySQL字符串连接函数_字符串_03


SET@@sql_mode=‘STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT’;
SELECT ‘abc’||‘def‘;

mysql字符串hash MySQL字符串连接函数_字符串连接_04