Nối chuỗi vào giá trị cột trong SQL
Trong SQL Server, có một số cách để nối các cột thành một chuỗi. Dưới đây là một số phương pháp để nối các cột dựa trên phiên bản SQL Server Show
Trong SQL Server 2017 trở lênNếu bạn có SQL Server 2017 trở lên, sử dụng CONCAT_WS() là cách tốt nhất để nối nhiều cột thành một giá trị chuỗi. Tại đây, bạn phải chỉ định dấu phân cách ở dạng char, nchar, varchar hoặc nchar làm đối số đầu tiên. Sau đó, bạn có thể chuyển các cột để nối trong các đối số tiếp theo. Đây là một ví dụ /** Concatenating Table Columns **/ select CONCAT_WS(' - ', Employee_ID), Employee_Name) As Result from MTB_Table_A /* Result */ ------------------ A002 - William A003 - Jacob A004 - Tyler A005 - Emma A006 - Ryan A007 - Ashley A008 - Brayden A009 - Olivia A010 - Michael A011 - Emily (10 row(s) affected) Trong SQL Server 2012 trở lênCONCAT_WS() không khả dụng trong SQL Server 2016 và các phiên bản thấp hơn. Tùy chọn gần nhất là sử dụng hàm CONCAT() cùng với COALESCE() và thêm các dấu phân cách theo cách thủ công. Tôi sẽ không nói rằng CONCAT() + COALESCE() thay thế CONCAT_WS(), nhưng đủ gần. Đây là một ví dụ SELECT CONCAT( COALESCE(CustomerName + ' - ', ''), COALESCE(PhoneNumber + ' - ', ''), COALESCE(PostalAddressLine1 + ' - ', ''), COALESCE(PostalAddressLine2 + ' - ', ''), COALESCE(PostalPostalCode, '') ) AS Result FROM Sales.Customers /* Result */ ------------------------------------------------------------------------- Wingtip Toys (Ruthsburg, MD) - (240) 555-0100 - PO Box 6713 - Shinville - 90451 Eric Torres - (307) 555-0100 - PO Box 4858 - Sandhuville - 90218 Cosmina Vlad - (505) 555-0100 - PO Box 1954 - Gonzalesville - 90602 Bala Dixit - (209) 555-0100 - PO Box 8565 - Blahoville - 90676 Aleksandrs Riekstins - (605) 555-0100 - PO Box 6490 - Linnaville - 90797 Ratan Poddar - (907) 555-0100 - PO Box 6237 - Shakibaville - 90457 Shi Tu - (307) 555-0100 - PO Box 7197 - Nadarville - 90673 Gunnar Lohmus - (201) 555-0100 - PO Box 6430 - Malakarville - 90130 Jackson Kolios - (209) 555-0100 - PO Box 4028 - Lyville - 90693 Alena Kellnerova - (303) 555-0100 - PO Box 2343 - Radniaville - 90143 (10 row(s) affected) Theo cách truyền thốngKhông có chức năng đặc biệt nào có sẵn trong các phiên bản SQL Server trước năm 2012 để nối cột. Vì vậy, bạn phải sử dụng toán tử chuỗi cộng (+) cùng với COALESCE() trong câu lệnh chọn. Đây là một ví dụ Hàm _______2_______9 hoạt động theo cách tương tự. Nó chuyển đổi kiểu dữ liệu giống như hàmSELECT CONCAT_WS(': ', 'Comments', 9) AS Result;6, và nếu không thể chuyển đổi dữ liệu, thì nó sẽ trả về Result ----------- Comments: 96 Hướng dẫn SQL này tập trung vào Nối chuỗi SQL Server và cung cấp các giải thích, ví dụ và bài tập. Đối với các bài tập của bài học này, hãy sử dụng liên kết này Hướng dẫn này là một phần của một số bài viết giải thích cách viết các truy vấn cơ bản trong SQL Server. Để đọc các bài viết bổ sung về chủ đề này, vui lòng sử dụng các liên kết sau
Nối chuỗi cơ bản SQL ServerNối chuỗi máy chủ SQL cho phép bạn nối một chuỗi vào cuối chuỗi khác. Để hiển thị nội dung của hai cột trở lên dưới tên của một cột, bạn có thể sử dụng toán tử nối (+) SELECT first_name + last_name FROM employees Kết quả (No column name) ------------------------ JohnSmith
Máy chủ SQL – Nối hai trường với một khoảng trắngMặc dù trong ví dụ trước, kết quả được yêu cầu – hợp nhất hai giá trị từ hai cột khác nhau – đã đạt được, nhưng kết quả cuối cùng vẫn khá khó đọc, vì chúng tôi không có dấu cách giữa tên và họ. Do đó, bạn cũng nên nối một khoảng trắng (‘ ‘) SELECT first_name + ' ' + last_name FROM employees Kết quả ________số 8_______
Sử dụng bí danh cột máy chủ SQLĐể làm cho kết quả dễ đọc hơn, hãy sử dụng Bí danh cột SQL Server SELECT first_name + ' ' + last_name AS 'FullName' FROM employees Kết quả FullName -------------- John Smith
Máy chủ SQL – Truy xuất các cột bổ sungTrong SQL Server, nếu sau hoặc trước phép nối này, bạn muốn hiển thị một cột riêng biệt bổ sung, chỉ cần sử dụng dấu phẩy (,) SELECT city, first_name + ' ' + last_name AS 'FullName', salary FROM employees Kết quả city FullName salary ------ ---------- ------------- London John Smith 5800
Máy chủ SQL – Nối nhiều hơn hai giá trịTrong SQL Server có thể tạo các phép nối phức tạp hơn theo yêu cầu SELECT 'Employee Name : ' + first_name + ' - ' + last_name AS 'E_DETAILS', FROM employees Kết quả E_Details ----------------------------- Employee Name : John- Smith UpScale Analytics là một trong những nền tảng lớn nhất trên thế giới để học SQL bằng cách thực hành, bao gồm hơn 300 bài tập SQL ở các cấp độ khác nhau (bao gồm cả giải pháp), theo chủ đề, trên hơn 100 bộ dữ liệu khác nhau. Hơn… Bạn có thể sử dụng += để nối các chuỗi không?Nối chuỗi sử dụng toán tử +=
. Toán tử này cho phép kết nối các chuỗi bằng một hoặc nhiều biến. Another way to join two or more strings to make a concatenated string is to use the addition assignment operator (+=). This operator makes it possible to connect strings using one or more variables.
Làm cách nào để nối chuỗi và cột trong MySQL?Hàm CONCAT() của MySQL dùng để cộng hai hoặc nhiều chuỗi. . Có thể có một hoặc nhiều đối số Trả về chuỗi kết quả từ việc nối các đối số Trả về một chuỗi không nhị phân, nếu tất cả các đối số là chuỗi không nhị phân Trả về một chuỗi nhị phân, nếu các đối số bao gồm bất kỳ chuỗi nhị phân nào |