sql >> Database >  >> RDS >> Sqlserver

Mijn VARCHAR(MAX)-veld beperkt zichzelf tot 4000; wat geeft?

Gecorrigeerd...

De tabel kan varchar(max) zijn, maar de waarden die u toewijst zijn slechts nvarchar (4000)

Dat wil zeggen,

maxcolumn = maxvalues + smallstring1 + **unicodestring** + smallstring3 + smallstring4 ...

De rechterkant blijft op nvarchar(4000) maximum vanwege de prioriteit van het gegevenstype. nvarchar> varchar. Wanneer toegewezen aan de max-kolom, wordt deze afgekapt

U moet ervoor zorgen dat alle waarden aan de rechterkant bij varchar

Het is nog zoals integer deling ... wat me in de war bracht was de 4000-limiet wanneer varchar 8000 is ... dit impliceert ergens nvarchar.

Voor Nvarchar(Max) krijg ik maar 4000 tekens in TSQL?



  1. Databasebeveiliging 101:beveiliging in open source-databases

  2. verschil tussen primaire sleutel en unieke sleutel

  3. Kardinaliteitsschatting voor meerdere predikaten

  4. Wat is het maximale aantal toegestane parameters per type databaseprovider?