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

Việc nối các giá trị nvarchar (max) dường như không hoạt động (+ =làm việc như =)

Toán tử + =chỉ áp dụng cho các kiểu dữ liệu số trong SQL Server. Tài liệu của Microsoft tại đây

Đối với nối chuỗi, bạn cần viết phép gán và nối riêng biệt.

DECLARE @sql nvarchar(max);
SELECT @sql = N'';
SELECT @sql = @sql + [definition] + N'
GO
'
FROM sys.sql_modules 
WHERE OBJECT_NAME(object_id) LIKE 'dt%'
ORDER BY OBJECT_NAME(object_id);

PRINT @sql;

Ngoài ra, nếu bạn đang chạy truy vấn này trong Management Studio, hãy nhớ rằng có giới hạn về kích thước dữ liệu mà nó sẽ trả về (bao gồm cả trong một câu lệnh in). Vì vậy, nếu các định nghĩa về mô-đun của bạn vượt quá giới hạn này, chúng sẽ bị cắt bớt trong đầu ra.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Không thể chèn giá trị rõ ràng vào cột dấu thời gian

  2. 4 Tài nguyên giám sát máy chủ SQL tuyệt vời dành cho quản trị viên cơ sở dữ liệu

  3. SQL Server 2016:Trình thiết kế truy vấn

  4. SQL Server:Hoạt động phân tách

  5. Cấu hình theo phạm vi cơ sở dữ liệu SQL Server và sửa kế hoạch tự động