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

Jaka jest maksymalna liczba znaków przechowywanych przez nvarchar(MAX)?

Maks. pojemność to 2 gigabajty miejsca - więc patrzysz na nieco ponad 1 miliard 2-bajtowych znaków, które zmieszczą się w NVARCHAR(MAX) pole.

Korzystając z bardziej szczegółowych numerów drugiej odpowiedzi, powinieneś być w stanie zapisać

(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters

1 billion, 73 million, 741 thousand and 822 characters to be precise

w swoim NVARCHAR(MAX) kolumna (niestety ta połowa znaku jest zmarnowana...)

Aktualizacja: jak zauważył @MartinMulder:każda kolumna ze znakami o zmiennej długości ma również 2 bajty narzutu na przechowywanie rzeczywistej długości - więc musiałem odjąć dwa dodatkowe bajty od 2 ^ 31 - 1 długość, którą wcześniej określiłem - w ten sposób możesz przechowywać 1 znak Unicode mniej niż wcześniej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_QUERY() vs JSON_VALUE() w SQL Server:jaka jest różnica?

  2. SQL Server int vs nvarchar porównanie wydajności?

  3. SQL WHERE.. IN klauzula wiele kolumn

  4. Żądanie nie powiodło się ze stanem HTTP 401:Unauthorized IN SSRS

  5. Dynamiczny SQL — EXEC(@SQL) kontra EXEC SP_EXECUTESQL(@SQL)