不同SQL SQL RDBMS實現的VARCHAR和VARCHAR2的大小限制是不同的,還是相同?感謝幫助。不同數據庫的Varchar和Varchar2的最大大小/長度
回答
首先在MySQL中使用varchar
,在Oracle中使用varchar2
。 此外,varchar和varchar2的大小和限制因數據庫而異。從
參考:http://docs.oracle.com/cd/E12151_01/doc.150/e12155/oracle_mysql_compared.htm
MySQL和Oracle都在 他們支持的字符類型和它們存儲的方式有些差異和檢索字符類型 值。
MySQL支持字符類型的CHAR和VARCHAR類型,其長度小於65,535字節,長度爲 。 CHAR類型可以有一個 的最大長度爲255個字節,並且從MySQL 3.23開始,它也可以是 ,其長度爲0字節。在MySQL 5.0.3之前,VARCHAR類型的長度 規範與CHAR類型相同。從 MySQL 5.0.3開始,VARCHAR類型的最大長度爲65,535 字節。 Oracle支持四種字符類型:CHAR,NCHAR,NVARCHAR2 和VARCHAR2。所有Oracle 字符類型可聲明的最小長度爲1個字節。 CHAR和NCHAR 允許的最大大小爲2,000個字節,NVARCHAR2和VARCHAR2的最大大小爲4,000個字節。
MySQL CHAR值在存儲時填充空格至指定長度 ,並且當檢索值 時刪除尾隨空格。另一方面,VARCHAR值的存儲方式如下: 許多字符,但在MySQL 5.0.3尾隨空格 在存儲和檢索值時被刪除。 Oracle 如果值小於列長度,則將其CHAR和NCHAR類型的值填充爲列長度 ,並且在檢索時不會刪除尾部空格 。對於NVARCHAR2和VARVHAR2數據類型 列,Oracle存儲和檢索包含尾隨空格的值,其值完全如 所示。
如果將值指定給超出其指定長度的字符類型列,則MySQL會截斷該值並且不會生成 錯誤,除非設置了STRICT SQL模式。如果 指定給字符類型列的值超過其指定的 長度,Oracle會生成錯誤。
在MySQL中,每個字符類型(CHAR,VARCHAR和TEXT)列都有一個 列字符集和歸類。如果字符集或排序規則 未在列定義中明確定義,則表 字符集或排序規則在指定時是隱含的;否則,選擇 數據庫字符或排序規則。在Oracle中,爲CHAR和VARCHAR2類型設置的字符 是由數據庫字符 設置的,而用於NCHAR和NVARCHAR類型的字符集定義爲 的國家字符集。
在MySQL中聲明CHAR或VARCHAR類型時,默認長度 語義是MySQL 4.1和更高版本的字符而不是字節。在 Oracle中,默認長度語義是NCHAR和NVARCHAR2類型的CHAR和VARCHAR2 類型和字符的字節。
SQL Developer將分別將MySQL CHAR和VARCHAR類型映射到Oracle CHAR和 VARCHAR2類型。 SQL Developer將從相應MySQL CHAR和VARCHAR數據類型列所需的最大長度爲 的字節數中確定Oracle CHAR和VARCHAR2數據類型列 的最大字節數 。如果 MySQL VARCHAR2列的數據超過4000字節,則 將該列轉換爲Oracle CLOB數據類型列。
但是不同的操作系統,相同的數據庫它將會是相同的,還是會有所不同? – user1716079
@ user1716079 - 這不是你的問題要求.... – 2013-01-07 07:05:49
從上面提到的我得知,VARCHAR和VARCHAR2可能因數據庫而異,但我的進一步問題是如果數據庫是相同的,但我們正在使用不同的OS。比如說..窗口中的Oracle和Linux中的Oracle。它會壓縮VARCHAR和VARCHAR2的大小限制嗎? – user1716079
- 1. MySQL數據庫的大小VS VARCHAR長度
- 2. postgres中varchar的最小和最大長度?
- 3. Oracle varchar2最小長度
- 4. MySQL VARCHAR like數據類型,帶最小和最大字符長度
- 5. 設置兩個不同UITextfields的最小和最大長度
- 6. Varchar的最大大小(最大)
- 7. 最小和最大強度長度
- 8. cassandra中varchar/text的最大長度
- 9. sql中varchar的最大長度
- 10. 更改varchar列的最大長度?
- 11. MaskedTextBox最小/最大長度
- 12. 設置最大。大小,最大整型數和最大字符串長度
- 13. 最小長度和最大長度的jQuery條件驗證
- 14. 交易收據數據大小最大長度
- 15. MySQL數據庫的最大表大小
- 16. 列出最大長度和最大長度的所有SQL列
- 17. VarChar的最大行大小(MAX)
- 18. 指定大小,最大長度爲Html.TextBoxFor
- 19. ASP.NET MVC 3 - 數據Annoation和文本框渲染的最大長度/大小
- 20. BSS的最大大小和數據
- 21. 獲得從syscolumns中的SQL Server中的VARCHAR(最大值)的最大長度
- 22. 設置couchdb最大數據庫大小
- 23. LMDB數據庫最大窗口大小
- 24. 最大長度
- 25. 只應驗證最小/最大長度
- 26. ,最大長度和jQuery
- 27. 最大經緯度,最小緯度,最大長度,最小長度從幾何字段
- 28. mysql長度()爲不同的語言返回不同的大小
- 29. Sequelize.js最小和最大長度驗證器不工作
- 30. 小數緯度/經度的最大長度?
AFAIK'varchar2'是Oracle特有的,所以我不確定問題是什麼。 'varchar'的大小限制取決於數據庫。 –
你是出於好奇還是有理由問這個問題? – 2013-01-07 05:54:41
我要求知道,天氣VARCHAR或VARCHAR2在不同數據庫中有不同的大小限制,或者所有數據庫的大小限制是相同的? – user1716079