Hàm CONCAT trong SQL là một hàm Chuỗi, được sử dụng để hợp nhất hai hoặc nhiều chuỗi. Dịch vụ Concat chuyển đổi các giá trị Null thành chuỗi rỗng khi chúng tôi hiển thị kết quả. Hàm này được sử dụng để nối hai chuỗi để tạo thành một chuỗi duy nhất. Toán tử được sử dụng để liên kết chuỗi ký tự và chuỗi cột.
Các bài viết liên quan:
Chúng ta có thể sử dụng một chữ trong Hàm CONCAT. Một ký tự là một số, ký tự hoặc ngày bao gồm câu lệnh SELECT.
Cú pháp của hàm CONCAT:
Ví dụ-
Để hiểu chi tiết về hàm CONCAT, hãy xem xét một bảng worker_tbl, có các bản ghi sau:
ID | NAME | WORK_DATE | DAILY_TYPING_PAGES |
1 | Michal | 2009-02-15 | 270 |
2 | Zeena | 2003-03-24 | 250 |
2 | kachner | 2007-08-19 | 277 |
2 | warner | 2007-04-25 | 264 |
3 | Joy | 2007-05-17 | 250 |
4 | atire | 2006-06-23 | 270 |
5 | delph | 2004-05-28 | 230 |
Vì vậy, nếu chúng ta muốn nối tất cả các tên, ID nhân viên và ngày_công việc của bảng trên, thì chúng ta có thể thực hiện bằng lệnh sau:
1Michal2009-02-15 |
2Zeena2003-03-24 |
2kachner2007-08-19 |
2warner2007-04-25 |
3joy2007-05-17 |
4atire2006-06-23 |
5delph2004-05-28 |
Ví dụ 2:
Đầu ra:
id | last_name | first_name | first_name||last_name | salary | first_name||salary |
1 | bean | Mr. | Mr.bean | 10000 | Mr.10000 |
2 | William | Sunita | Sunita William | 50000 | Sunita50000 |
3 | tpoint | Java | Javatpoint | 20000 | Java20000 |
4 | &example | tutorial | tutorial&example | 90000 | Tutorial90000 |
Lưu ý: Trong ví dụ trên, chúng tôi đã sử dụng “||”, được gọi là toán tử Nối và nó được sử dụng để liên kết hai hoặc nhiều cột trong truy vấn chọn. Toán tử này độc lập với kiểu dữ liệu của cột.
Ở đây, chúng tôi đã liên kết 2 cột tức là tên_người_đầu + họ_ngủ cũng như tên_người_đầu + tiền lương.
Chúng ta có thể sử dụng các ký tự chuỗi trong toán tử CONCAT.
Ví dụ 1: Sử dụng ký tự theo nghĩa đen
Cú pháp
Đầu ra: (Ghép ba giá trị và đặt một ‘tên’ mới)
id | first_name | last_name | salary | new |
1 | Javatpoint | tpoint | 20000 | Java has salary 20000 |
2 | tutorial | &example | 30000 | the tutorial has salary 30000 |
3 | Shane | Watson | 40000 | Shane has salary 40000 |
4 | Jennifer | louse | 60000 | Jennifer has salary 60000 |
Lưu ý: Chúng tôi đã sử dụng lương như một ký tự trong câu lệnh select. Chúng tôi có thể sử dụng ký tự ngày và ký tự số theo yêu cầu của chúng tôi trong bảng.
Ví dụ 2: Sử dụng ký tự cũng như chữ số
Cú pháp:
Đầu ra:
id | first_name | last_name | salary | new |
1 | Javatpoint | tpoint | 20000 | Java100 has id 1 |
2 | tutorial | &example | 30000 | Tutorial100 has id 2 |
3 | Shane | Watson | 40000 | Shane100 has id 3 |
4 | Jennifer | louse | 60000 | Jennifer100 has id 4 |
Trong ví dụ trên, chúng tôi đã sử dụng lương dưới dạng một ký tự theo nghĩa đen cũng như 100 làm số xác thực trong câu lệnh lựa chọn của chúng tôi.
Một số câu hỏi phổ biến về Hàm CONCAT trong SQL
- Hàm CONCAT trong SQL là gì?
- Hàm CONCAT là hàm được sử dụng trong SQL để ghép nối các chuỗi thành một chuỗi duy nhất. Nó cho phép bạn kết hợp hai hoặc nhiều giá trị chuỗi lại với nhau.
- Cú pháp của hàm CONCAT là gì?
- Cú pháp của hàm CONCAT như sau: CONCAT(string1, string2, …). Ở đây, string1, string2, … là các chuỗi cần được ghép nối lại với nhau.
- Có bao nhiêu tham số có thể truyền vào hàm CONCAT?
- Hàm CONCAT có thể nhận nhiều tham số. Bạn có thể truyền vào hai hoặc nhiều hơn các tham số chuỗi cần được ghép nối.
- Có thể sử dụng hàm CONCAT để ghép nối chuỗi và số trong SQL không?
- Có, hàm CONCAT có thể được sử dụng để ghép nối chuỗi và số. Khi sử dụng CONCAT để ghép nối chuỗi và số, số sẽ được tự động chuyển đổi thành chuỗi trước khi ghép nối.
- Có thể sử dụng hàm CONCAT để ghép nối hai cột trong SQL không?
- Có, bạn có thể sử dụng hàm CONCAT để ghép nối hai cột trong SQL. Ví dụ:
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM customers;
Trong ví dụ trên, hàm CONCAT được sử dụng để ghép nối hai cột first_name và last_name để tạo ra một cột mới có tên là full_name.
- Hàm CONCAT_WS trong SQL là gì?
- Hàm CONCAT_WS cũng là một hàm để ghép nối chuỗi trong SQL. Tuy nhiên, khác với hàm CONCAT, hàm CONCAT_WS cho phép bạn xác định một ký tự phân cách giữa các chuỗi được ghép nối. Ví dụ:
SELECT CONCAT_WS('-', 'John', 'Doe', '123 Main St') AS address FROM customers;
Trong ví dụ trên, hàm CONCAT_WS được sử dụng để ghép nối ba chuỗi ‘John’, ‘Doe’ và ‘123 Main St’ với dấu ‘-‘ phân cách giữa chúng. Kết quả trả về sẽ là chuỗi ‘John-Doe-123 Main St’.
- Hàm CONCAT và CONCAT_WS có khác nhau gì?
- Hàm CONCAT và CONCAT_WS đều là hàm để ghép nối chuỗi trong SQL, tuy nhiên, chúng có một số khác nhau:
- Hàm CONCAT không cho phép bạn xác định ký tự phân cách giữa các chuỗi được ghép nối, trong khi đó, hàm CONCAT_WS cho phép bạn xác định ký tự phân cách này.
- Hàm CONCAT có thể được sử dụng để ghép nối hai giá trị NULL thành một giá trị NULL, trong khi đó, hàm CONCAT_WS sẽ bỏ qua các giá trị NULL.
- Có thể sử dụng hàm CONCAT để ghép nối các chuỗi theo thứ tự bất kỳ không?
- Không, khi sử dụng hàm CONCAT để ghép nối các chuỗi, thứ tự các chuỗi sẽ luôn được đưa vào theo đúng thứ tự. Ví dụ:
SELECT CONCAT('John', ' Doe') AS name;
Trong ví dụ trên, chuỗi ‘John’ sẽ được đưa vào trước chuỗi ‘Doe’ và kết quả trả về sẽ là chuỗi ‘John Doe’.
- Hàm CONCAT có phân biệt chữ hoa và chữ thường không?
- Không, hàm CONCAT không phân biệt chữ hoa và chữ thường. Nếu bạn muốn phân biệt chữ hoa và chữ thường, bạn cần sử dụng hàm CONCAT trong kết hợp với hàm UPPER hoặc LOWER để chuyển đổi các chuỗi thành chữ hoa hoặc chữ thường trước khi ghép nối chúng.
- Có thể sử dụng hàm CONCAT để ghép nối chuỗi trên nhiều dòng không?
- Có, hàm CONCAT có thể được sử dụng để ghép nối chuỗi trên nhiều dòng. Để làm điều này, bạn cần sử dụng ký tự xuống dòng (line break) trong các chuỗi cần ghép nối. Ví dụ:
SELECT CONCAT('John', '\n', 'Doe') AS name;
Trong ví dụ trên, ký tự xuống dòng (\n) được sử dụng để tạo ra một chuỗi gồm hai dòng, và hàm CONCAT được sử dụng để ghép nối các dòng này lại với nhau. Kết quả trả về sẽ là chuỗi ‘John’ trên dòng đầu tiên và ‘Doe’ trên dòng thứ hai.