Combining Columns to Construct Composite Values
Problem
You want to display values that are constructed from multiple table columns.
Solution
One way to do this is to use CONCAT( )
. You
might also want to give the column a nicer name by using an alias.
Discussion
Column values may be combined to produce composite output values. For
example, this expression concatenates srcuser
and
srchost
values into email address format:
CONCAT(srcuser,'@',srchost)
Such expressions tend to
produce ugly column names, which is yet another reason why column
aliases are useful. The following query uses the aliases
sender
and recipient
to name
output columns that are constructed by combining usernames and
hostnames into email addresses:
mysql>SELECT
->DATE_FORMAT(t,'%M %e, %Y') AS date_sent,
->CONCAT(srcuser,'@',srchost) AS sender,
->CONCAT(dstuser,'@',dsthost) AS recipient,
->size FROM mail;
+--------------+---------------+---------------+---------+ | date_sent | sender | recipient | size | +--------------+---------------+---------------+---------+ | May 11, 2001 | barb@saturn | tricia@mars | 58274 | | May 12, 2001 | tricia@mars | gene@venus | 194925 | | May 12, 2001 | phil@mars | phil@saturn | 1048 | | May 13, 2001 | barb@saturn | tricia@venus | 271 | ...
Get MySQL Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.