Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách chọn hàng với điều kiện qua nối chuỗi trong MySQL

Sử dụng hàm CONCAT_WS(). Tạo bảng demo38:

mysql> CREATE TABLE demo38 (
    -> user_id INT,
    -> user_first_name VARCHAR(20),
    -> user_last_name VARCHAR(20),
    -> user_date_of_birth DATE
    -> );

Chèn dữ liệu:

mysql> INSERT INTO demo38 VALUES(10,'John','Smith','1990-10-01');
mysql> INSERT INTO demo38 VALUES(11,'David','Miller','1994-01-21');
mysql> INSERT INTO demo38 VALUES(11,'John','Doe','1992-02-01');
mysql> INSERT INTO demo38 VALUES(12,'Adam','Smith','1996-11-11');
mysql> INSERT INTO demo38 VALUES(13,'Chris','Brown','1997-03-10');

Hiển thị dữ liệu:

mysql> SELECT * FROM demo38;

Kết quả:

+---------+-----------------+----------------+--------------------+
| user_id | user_first_name | user_last_name | user_date_of_birth |
+---------+-----------------+----------------+--------------------+
| 10      | John            | Smith          | 1990-10-01         |
| 11      | David           | Miller         | 1994-01-21         |
| 11      | John            | Doe            | 1992-02-01         |
| 12      | Adam            | Smith          | 1996-11-11         |
| 13      | Chris           | Brown          | 1997-03-10         |
+---------+-----------------+----------------+--------------------+

Truy vấn nối chuỗi và lọc theo user_id IN (11,13):

mysql> SELECT CONCAT_WS('/', user_first_name, user_last_name, 'the date of birth year is=', DATE_FORMAT(user_date_of_birth, '%Y')) AS Output
    -> FROM demo38
    -> WHERE user_id IN (11,13);

Kết quả:

+----------------------------------------------+
| Output                                       |
+----------------------------------------------+
| David/Miller/the date of birth year is=/1994 |
| John/Doe/the date of birth year is=/1992     |
| Chris/Brown/the date of birth year is=/1997  |
+----------------------------------------------+