Trong hướng dẫn này, tôi chia sẻ với các bạn cách có thể ghép nhiều cột trong bảng vởi cơ sở dữ liệu MySQL.
Bạn sẽ thực hiện bằng cách nối nhiều trường (cột) trong bảng dữ liệu MySQL rồi trả về một trường, sau khi đã nối các giá trị thành một.
Chúng ta sẽ thực hiện việc này với 2 hàm của MySQL như sau:
- CONCAT
- CONCAT_WS
CONCAT, CONCAT_WS hoạt động tương tự như nhau nhưng khác nhau về cách thức triển khai.
1) CONCAT
Hàm này được sử dụng để nối nhiều cột hoặc chuỗi thành một cột. Các đối số được phân cách nhau bằng dấu phẩy.
CONCAT( column1, column2, ... )
Hoặc
CONCAT ( string1, string2, ... )
Chúng ta có table[users]
id | username | firstname | lastname |
---|---|---|---|
1 | panpic | Bang | Nguyen |
2 | designweb | Ha Au | Le Trang |
3 | webdeveloper | Cam | Tu |
Ví dụ:
Tôi sử dụng Hàm CONCAT để ghép các cột firstname, lastname và đặt ALIAS là fullname như sau:
SELECT
username,
CONCAT( firstname, " ", lastname ) AS fullname
FROM users
Kết quả như sau:
id | username | fullname |
---|---|---|
1 | panpic | Bang Nguyen |
2 | designweb | Ha Au Le trang |
3 | webdeveloper | Cam Tu |
2) CONCAT_WS
Hàm CONCAT_WS () không chỉ thêm nhiều giá trị chuỗi và biến thành một giá trị chuỗi đơn. Nó cũng cho phép bạn xác định dấu phân cách ( ” “, ” , “, ” – “,” _ “, …vv)
CONCAT_WS( SEPERATOR, column1, column2, ... )
Hoặc
CONCAT ( SEPERATOR, string1, string2, … )
Ví dụ:
SELECT
username,
CONCAT_WS( " ", firstname, lastname ) AS fullname
FROM users
id | username | firstname | lastname |
---|---|---|---|
1 | panpic | Bang | Nguyen |
2 | designweb | Ha Au | Le Trang |
3 | webdeveloper | Cam | Tu |
Kết quả:
id | username | fullname |
---|---|---|
1 | panpic | Bang Nguyen |
2 | designweb | Ha Au Le trang |
3 | webdeveloper | Cam Tu |
Như đã nói ở trên, bạn có thể định nghĩa bất kỳ ký tự nào khác thay vì khoảng trắng.
3) Một Vài Cách Dùng CONCAT_WS Truy Vấn MySQL
SELECT *
FROM users
WHERE CONCAT_WS(" ",firstname,lastname) = "Bang Nguyen"
Ngoài ra bạn còn có thể dùng CONCAT CONCAT_WS vào rất nhiều bài toán thực tế. Hay chia sẻ cách dùng CONCAT_WS vào bài toán thự tế của bạn ở comment bên dưới để cùng học tập
Tham khảo thêm tại link MySQL CONCAT
nhantam
Lập trình web tại Panpic