mysql中怎麼將多個欄位拼接到一起
:mysql將多欄位拼接成一個欄位,有個concat(),concat_ws()函式的使用
一個學生表,如下圖:
+------+----------+------+---------+------------+
| no | name | sex | classno | birth |
+------+----------+------+---------+------------+
| 1 | zhangsan | F | 1001 | 1998-07-09 |
| 2 | lisi | F | 1001 | 1990-08-29 |
| 8 | jack | M | 1002 | 2001-9-25 |
| 18 | ross | M | 1003 | 2001-1-1 |
| 12 | rots | M | 1004 | 2001-1-1 |
| 15 | chaina | M | 1003 | 2001-1-1 |
| 11 | sad | F | 1009 | 2012-09-09 |
+------+----------+------+---------+------------+
案例:查詢出student表中學生姓名,性別拼接起來命名為name_sex,中間並以空格區分
1、concat函式語法:concat(欄位1,' 拼接時欄位間需填充的條件',欄位2)from table;
mysql> select concat(name,' ',sex)name_sex from t_student;
+--------------+
| name_sex |
+--------------+
| zhangsan F |
| lisi F |
| jack M |
| ross M |
| rots M |
| chaina M |
| sad F |
+--------------+
7 rows in set (0.00 sec)
2、用concat_ws()函式解決:
concat_ws()語法:concat('拼接時欄位間需填充的條件',欄位1,欄位2,欄位3)
mysql> select concat_ws(' ',name,sex,no)name_sex from t_student;
+----------------+
| name_sex |
+----------------+
| zhangsan F 1 |
| lisi F 2 |
| jack M 8 |
| ross M 18 |
| rots M 12 |
| chaina M 15 |
| sad F 11 |
+----------------+
7 rows in set (0.00 sec)
concat_ws()和concat()函式的區別:
concat_ws():在拼接的時候,不管是2個還是2個以上的欄位,拼接時每個欄位都會加上拼接時需填充的條件
concat():在拼接的時候,每個欄位拼接時,欄位間拼接的填充條件需要依次加入