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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM