Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách chuyển đổi danh sách các số thành bảng (tạm thời) bằng SQL (SQL Server)

Một giải pháp mà tôi sử dụng rất nhiều ...

Cung cấp danh sách các số của bạn dưới dạng VARCHAR(MAX) dấu phẩy chuỗi được phân thức, sau đó sử dụng một trong nhiều dbo.fn_split() các chức năng mà mọi người đã viết trên dòng.

Một trong số nhiều ví dụ trực tuyến ... SQL-User-Defined-Function-to-Parse-a-Delimited-Str

Các hàm này nhận một chuỗi làm tham số và trả về một bảng.

Sau đó, bạn có thể làm những việc như ...

INSERT INTO @temp SELECT * FROM dbo.split(@myList)

SELECT
  *
FROM
  myTable
INNER JOIN
  dbo.split(@myList) AS list
    ON list.id = myTable.id


Một cách thay thế là xem xét các Tham số có Giá trị Bảng. Những điều này cho phép bạn chuyển toàn bộ bảng vào một thủ tục được lưu trữ dưới dạng tham số. Làm thế nào phụ thuộc vào khuôn khổ bạn đang sử dụng. Bạn có đang sử dụng .NET, Java, Ruby, v.v. không và bạn đang giao tiếp với cơ sở dữ liệu như thế nào?

Khi chúng tôi biết thêm chi tiết về mã ứng dụng của bạn, chúng tôi có thể hiển thị cho bạn cả mã máy khách và mẫu thủ tục được lưu trữ SQL, để sử dụng các Tham số có Giá trị Bảng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lấy dữ liệu đã chỉnh sửa chính xác từ SQL Server

  2. Có cách nào / công cụ nào để xác định thời gian chạy truy vấn ước tính trong SQL sERVER không

  3. Khái niệm chính về khóa SQL Server

  4. Các hàm toán học của SQL Server (Danh sách đầy đủ)

  5. Sử dụng biến có TOP trong câu lệnh select trong SQL Server mà không làm cho nó động