1. 程式人生 > 其它 >mysql中怎麼將多個欄位拼接到一起

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():在拼接的時候,每個欄位拼接時,欄位間拼接的填充條件需要依次加入