Can MySQL concatenate strings with ||?


Yes, you can concatenate strings with || in MySQL with the help of sql_mode. Set the sql_mode to PIPES_AS_CONCAT.

The syntax is as follows

set sql_mode=PIPES_AS_CONCAT;

The following is the syntax to concat with the help of ||.

SELECT ‘yourValue' || yourColumName AS anyAliasName FROM yourTableName;

To understand the above syntax, let us create a table. The query to create a table is as follows

mysql> create table PipeConcatDemo
   - > (
   - > Name varchar(20)
   - > );
Query OK, 0 rows affected (0.93 sec)

Insert some records in the table using insert command.

The query is as follows

mysql> insert into PipeConcatDemo values('Larry');
Query OK, 1 row affected (0.18 sec)
mysql> insert into PipeConcatDemo values('John');
Query OK, 1 row affected (0.15 sec)
mysql> insert into PipeConcatDemo values('Maxwell');
Query OK, 1 row affected (0.23 sec)
mysql> insert into PipeConcatDemo values('Bob');
Query OK, 1 row affected (0.17 sec)

Now you can display all records from the table using select statement.

The query is as follows

mysql> select *from PipeConcatDemo;

The following is the output

+---------+
| Name    |
+---------+
| Larry   |
| John    |
| Maxwell |
| Bob     |
+---------+
4 rows in set (0.00 sec)

Now before concatenation, run the following is the query to change the sql_mode to PIPES_AS_CONCAT

mysql> set sql_mode=PIPES_AS_CONCAT;
Query OK, 0 rows affected (0.00 sec)

You can now use || for concatenation:

mysql> select 'Good Morning !!! ' || Name AS PipeConcatenationDemo from PipeConcatDemo;

The following is the output

+--------------------------+
| PipeConcatenationDemo    |
+--------------------------+
| Good Morning !!! Larry   |
| Good Morning !!! John    |
| Good Morning !!! Maxwell |
| Good Morning !!! Bob     |
+--------------------------+
4 rows in set (0.00 sec)

Updated on: 30-Jul-2019

80 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements