Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Łączenie wartości nvarchar(max) nie działa (+=działa jako =)

Operator +=dotyczy tylko liczbowych typów danych w SQL Server. Dokumentacja Microsoft tutaj

W przypadku konkatenacji ciągów należy osobno napisać przypisanie i konkatenację.

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;

Ponadto, jeśli uruchamiasz tę kwerendę w Management Studio, pamiętaj, że istnieje limit rozmiaru danych, które zostaną zwrócone (w tym w instrukcji print). Więc jeśli definicje Twoich modułów przekroczą ten limit, zostaną one obcięte na wyjściu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masowy import XML do SQL Server

  2. SQL Server — Wybierz kolumny, które spełniają określone warunki?

  3. Ekstremalny czas oczekiwania przy przełączaniu bazy danych SQL Server w tryb offline

  4. Jak uzyskać listę dat rozpoczęcia tygodnia (poniedziałek) i daty zakończenia (niedziela) między dwiema datami?

  5. Zwróć informacje o kolumnie z serwera połączonego w programie SQL Server (przykłady T-SQL)