在MySQL中,数字和字符串的拼接是一项非常常见的操作,可以使用“+”号来实现。
SELECT CONCAT(1, 'abc'); --输出: 1abcSELECT CONCAT('abc', 1); --输出: abc1SELECT 1 + '1'; --输出: 2
需要注意的是,使用“+”号进行数字和字符串的拼接时,MySQL会将字符串转化为数字,只有当字符串可以转化为数字时才会执行计算操作。
SELECT 1 + 'a'; --输出: 1SELECT 1 + '1a'; --输出: 2
如果需要实现多个字符串和数字的拼接,可以使用CONCAT函数来实现。
SELECT CONCAT(1, 'abc', 'efg', 2); --输出: 1abcefg2
在使用CONCAT函数时,如果传入的参数中有NULL,则结果将会为NULL。
SELECT CONCAT(1, NULL, 'abc', NULL, 2); --输出: NULL
除了使用CONCAT函数,还可以使用CONCAT_WS函数来实现多个字符串和数字的拼接,与CONCAT函数不同的是,使用CONCAT_WS函数时可以指定连接多个字符串时使用的分隔符。
SELECT CONCAT_WS('-', 1, 'abc', 'efg', 2); --输出: 1-abc-efg-2
在使用两个字符串拼接时,还可以使用“||”符号来代替“+”号,但是需要注意的是,只有在ANSI SQL模式下才能使用此符号。
SET sql_mode='ANSI';SELECT 'a' || 'b'; --输出: ab