您好,登錄后才能下訂單哦!
mysql中怎么拼接函數,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1.repeat()函數
使用方法:
REPEAT(str,count) str:字符串或者是對應的值;count:幾個數值,就是前面字符串的個數。
例子一:mysql>select repeat('ab',3);
+-------------------------------+
| repeat('ab',3) |
+-------------------------------+
| ababab |
+-------------------------------+
1 row in set (0.00 sec)
范例:mysql> select repeat(name,2) from table_name;
+-------------------------------+
| repeat(name,2) |
+-------------------------------+
| aaaa |
| bbbb |
| cccc |
+-------------------------------+
3 row in set (0.00 sec)
解析:用來復制字符串,如下'ab'表示要復制的字符串,后面的數字,如3表示復制的份數。
2. group_concat 函數
完整的語法如下:
group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
基本查詢
mysql> select * from aa;
+------+------+
| id| name |
+------+------+
| 1 | 10 |
| 1 | 20 |
| 1 | 20 |
| 2 | 20 |
| 3 | 200 |
| 3 | 500 |
+------+------+
6 rows in set (0.00 sec)
以id分組,把name字段的值打印在一行,逗號分隔(默認)
mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id | group_concat(name) |
+------+--------------------+
| 1 | 10,20,20 |
| 2 | 20 |
| 3 | 200,500 |
+------+--------------------+
3 rows in set (0.00 sec)
以id分組,把name字段的值打印在一行,分號分隔
mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id | group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20 |
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)
以id分組,把去冗余的name字段的值打印在一行,
逗號分隔
mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id | group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20 |
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)
以id分組,把name字段的值打印在一行,逗號分隔,以name排倒序
mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id | group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20 |
|3 | 500,200 |
+------+---------------------------------------+
3 rows in set (0.00 sec)
3.RTrim()函數
select concat(RTrim(name),'(',RTrim(country),')') from table_name order by name;
例子一:
select concat(LTRIM(' werrrt '),'(',RTRIM(2343),')');
+------+---------------------------------------------------+
| id |concat(LTRIM(' werrrt '),'(',TRIM( 2343 ),')') |
+------+---------------------------------------------------+
|1 |werrrt (2343) |
+------+---------------------------------------------------+
1 rows in set (0.00 sec)
解析:LTrim()去掉串左邊的空格。
例子二:
select concat(RTRIM(' werrrt '),'(',RTRIM(2343),')');
+------+---------------------------------------------------+
| id |concat(LTRIM(' werrrt '),'(',TRIM( 2343 ),')') |
+------+---------------------------------------------------+
|1 | werrrt(2343) |
+------+---------------------------------------------------+
1 rows in set (0.00 sec)
解析:RTrim()去掉串右邊的空格。Trim()去掉串左右兩邊的空格。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。