String concatenation with MySQL - Part 2
Posted December 16th, 2009 in MySql
A few months ago I posted about string concatenation with MySQL using the CONCAT function and in this follow up post look at the CONCAT_WS function which glues the fields together with the specified string. CONCAT_WS means CONCATenate With Separator i.e. join the fields together with a specified separator string.
Example data
The example table used in this post is called "products" and contains the following data, which is the same as in the original post:
+------------+------+--------------------+--------+ | product_id | name | description | price | +------------+------+--------------------+--------+ | 1 | Foo | Blah blah foo blah | 55.00 | | 2 | Bar | Blah blah bar blah | 102.00 | | 3 | Baz | Blah blah baz blah | 87.50 | | 4 | Bat | Blah blah bat blah | 42.00 | +------------+------+--------------------+--------+
Using concat_ws to concatenate fields and strings
CONCAT_WS takes multiple arguments, the first being the string that glues the rest of the fields together. In my original post I joined the strings together with a hyphen surrounded by spaces with CONCAT ("SELECT CONCAT(name, ' - ', description) FROM products;") and this can be done instead with CONCAT_WS like so:
SELECT CONCAT_WS(' - ', name, description) FROM products;
The resulting data would look like this:
+-------------------------------------+
| CONCAT_WS(' - ', name, description) |
+-------------------------------------+
| Foo - Blah blah foo blah |
| Bar - Blah blah bar blah |
| Baz - Blah blah baz blah |
| Bat - Blah blah bat blah |
+-------------------------------------+
This can be a lot simpler to join multiple fields than using CONCAT if you are wanting to concatenate more than two fields.
Related posts:
- Rounding numbers with MySQL (Wednesday, May 20th 2009)
- String concatenation with MySQL - Part 1 (Wednesday, March 4th 2009)
- Using SELECT REPLACE with MySQL (Wednesday, January 28th 2009)
- Upper case and lower case strings with MySQL (Tuesday, July 29th 2008)
- Find the length of the longest string in MySQL (Friday, May 9th 2008)
- Formatting Dates and Times with MySQL (Saturday, July 17th 2004)
Share or Bookmark
Share or Bookmark this page using the following services. You will need to have an account with the selected service in order to post links or bookmark this page.
Subscribe or Follow
Subscribe via RSS or email, or follow me on Facebook or Twitter below. The RSS icon takes you through to Feedburner where you can select the service or application to use.

