sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu vložit více než 8000 znaků do sloupce VARCHAR(MAX) pomocí ExecuteNonQuery?

REPLICATE vrátí typ vstupu bez ohledu na pozdější přiřazení. Je to nepříjemné, ale abyste se vyhnuli tichému zkrácení, zkuste:

SET @x = REPLICATE(CONVERT(VARCHAR(MAX), 'a'), 10000);

Důvodem je, že SQL Server provádí REPLICATE operace, než zváží, k čemu ji přiřadíte nebo na kolik znaků se ji pokoušíte rozšířit. Zajímá se pouze o vstupní výraz, aby určil, co by měl vrátit, a pokud vstup není typu max, předpokládá, že se má vejít do 8 000 bajtů. To je vysvětleno v Knihy online :



  1. Počítat aktivní uživatele na základě přihlášení za posledních 90 dní

  2. připojit AngularJS k mysql pomocí mé služby PHP?

  3. Máte již jiný mysqld server spuštěný na portu:3306 Ubuntu

  4. Jaká je kořenová chyba za Nepodařilo se navázat připojení k databázi. Zkontrolujte připojovací řetězec, uživatelské jméno a heslo.