我想知道SQL Server 2000中varchar
的最大大小是多少。當我在某處搜索時,它被寫入了8000個字符,並且它被寫入了8060個字節。哪一個是正確的?SQL Server 2000中varchar(max)的最大大小
回答
至於我記得是8000個字符。
爲nvarchar的是4000
的Varchar是8000和nvarchar是4000
這裏的VARCHAR參考MSDN:
http://msdn.microsoft.com/en-us/library/aa258242(SQL.80).aspx
8000字符= 8000個字節的SQL ???? – Kumar
@Kumar:是的,對於VARCHAR,1個字符= 1個字節;對於NVARCHAR,1個字符= 2個字節 –
這比這更復雜一點。簡短版本是,varchar和nvarchar在實際上將數據放到那裏之前不使用空間。 –
VARCHAR(最大值)的最大尺寸大( 2GB或2Gchars,我認爲)。您可以在VARCHAR指定N的最大值(N)爲8000,併爲nvarchar的是4000
SQL 2000中沒有varchar(max) – MartW
你是對的,但問題是無效的。我的答案的第二部分仍然存在 – erikkallen
SQL Server數據頁有8K:8192字節。從這一部分保留給頁頭,剩下8060字節是單行可以擁有的最大值。成一排,所述VARBINARY(n)的,VARCHAR(N)和nvarchar(n)的類型不能超過8000個字節,這意味着VARCHAR(8000)是最大的Ascii長度和nvarchar(4000)是最大的Unicode長度(因爲Unicode的將每個字符存儲在2個字節中)。
的所有這些細節的最好解釋來自Inside the Storage Engine: Anatomy of a page。
+1小技巧:Unicode不會將每個字符存儲在2個字節中。這取決於編碼。 UTF-8和UTF-16是可變長度編碼,UTF-32是我知道的唯一一個固定大小的編碼。其他編碼存在(UCS-2,UTF-7)。在內部,Microsoft通常使用UTF-16,其中字符的默認大小爲2個字節。對於至少所有基於.NET的產品和SQL Server都是如此。 – Abel
@abel:SQL服務器[使用UCS-2LE編碼(http://msdn.microsoft.com/en-us/library/ms189617(V = SQL.105)的.aspx),而這正是每個字符2個字節。我同意,儘管如文中所言,'Unicode'並不嚴格限制每個字符2個字節。 –
是的,你對UCS-2是正確的,我一直忘記,這是我的主要抱怨之一,因爲它只允許BMP字符。 Tx指出那:) – Abel
- 1. VarChar的最大行大小(MAX)
- 2. VARCHAR(最大值),2008年爲varchar在2000
- 3. SQL Server 2000中的最大數據庫大小MSDE
- 4. Varchar的最大大小(最大)
- 5. SQL Server 2012中的Varchar(max)存儲大小?
- 6. SQL Server,CONTEXT_INFO()和varchar大小
- 7. varchar(max)變量的最大尺寸
- 8. 按SQL Server中的varbinary(MAX)或varchar(MAX)
- 9. SQL Server 2014 - varchar(x)NULL大小
- 10. SQL Server:達到最大池大小
- 11. SQL Server:最大行大小警告
- 12. SQL Server 2008 R2 Varbinary最大大小
- 13. 獲得從syscolumns中的SQL Server中的VARCHAR(最大值)的最大長度
- 14. SQL Server的VARCHAR(最大值)和varchar不兼容
- 15. SQL:最大(n)varchar大小可以存儲在sql_variant中
- 16. 我的SQL Server 2000事務日誌大小似乎很小
- 17. SQL Server 2000中不區分大小寫的REPLACE()
- 18. SQL Server 2008最大列和行最大大小
- 19. SQL Server查詢最大和最小值
- 20. 最小和最大在SQL Server
- 21. 我可以設置大於8k但小於MAX的VARCHAR大小嗎?
- 22. SQL Server 2000 - varchar字段的默認值
- 23. 如何在SQL Server 2000中傳遞大於varchar(8000)的字符串參數?
- 24. sql中varchar的最大長度
- 25. SQL MAX()在VARCHAR
- 26. sql server表中nvarchar(max)列的最大數目
- 27. 在SQL Server Management Studio中顯示爲文本的Varchar(最大)
- 28. 如何在SQL Server列中存儲超過varchar(max)的非常大的數據?
- 29. SQL Server 2008中的數據庫最大大小
- 30. SQL Server行大小
8000字符= 8000字節sqL – Kumar
@Kumar:**是**對於'varchar'這是1個字符= 1個字節,用於'nvarchar'這是1個字符= 2字節 –