Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ตัวคั่นบรรทัดใหม่ใน GROUP_CONCAT() ด้วย SEPARATOR '\\r\\n' ใน MySQL

ใช้ SEPARATOR '\r\n' ใน GROUP_CONCAT() เพื่อคั่นแต่ละค่าด้วยบรรทัดใหม่ (CRLF)

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName VARCHAR(20),
    LastName VARCHAR(20)
);
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES
    ('John', 'Smith'), ('David', 'Miller'), ('John', 'Doe');

ดูข้อมูล

mysql> SELECT * FROM DemoTable;
+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
|  1 | John      | Smith    |
|  2 | David     | Miller   |
|  3 | John      | Doe      |
+----+-----------+----------+

คำสั่ง GROUP_CONCAT พร้อมตัวคั่นบรรทัดใหม่

mysql> SELECT GROUP_CONCAT(
    ->     CONCAT_WS(' ', FirstName, LastName)
    ->     SEPARATOR '\r\n'
    -> ) FROM DemoTable;

ผลลัพธ์ (แสดงเป็นบรรทัดเดียวใน terminal แต่จริงๆ มี \r\n คั่น)

+-------------------------------------------------------------------+
| GROUP_CONCAT(CONCAT_WS(' ', FirstName, LastName) SEPARATOR "\r\n") |
+-------------------------------------------------------------------+
| John Smith
David Miller
John Doe                                                              |
+-------------------------------------------------------------------+

คำอธิบาย:

  • CONCAT_WS(' ', FirstName, LastName) — รวมชื่อ-นามสกุลคั่น space (WS = With Separator)
  • SEPARATOR '\r\n' — คั่นแต่ละรายการด้วย Carriage Return + Line Feed
  • ในโปรแกรมหรือเว็บที่รองรับ จะแสดงเป็นหลายบรรทัดจริง

ตัวเลือกอื่น: SEPARATOR '\n' (LF only) หรือ SEPARATOR '
'
(สำหรับ HTML)