Sql-Server

SQL 文本數據類型已棄用?

  • June 28, 2016

我已經讀到 Microsoft SQL Server 已棄用text數據類型而支持varchar(max).

PostGreSQL 已經允許varchar(沒有長度)作為text.

問題是,ANSI SQL 標準對 deprecatingtext和最佳替代方案有什麼看法?另外,MySQL/MariaDB 也遵循這個嗎?

謝謝

在 ANSI SQL 標準中,沒有TEXT類型。定義了各種字元串類型,例如CHARandVARCHAR等等,但沒有提及TEXT類型。有一個CHARACTER LARGE OBJECT和一個BINARY LARGE OBJECT

在各種 DBMS(Postgres、SQL Server、MySQL)中發現的TEXT各種類型是附加的,它們之間有細微的差別。它們的相似之處在於它們可以容納非常大的字元串。

SQL ServerTEXT正在被棄用。MySQLTEXT沒有被棄用。PostgreSQLTEXT得到了很好的支持並被許多人推薦在任何地方使用,代替VARCHAR(n). 來自 Postgres 文件,字元類型

此外,PostgreSQL 還提供了 text 類型,可以儲存任意長度的字元串。儘管該類型text不在 SQL 標準中,但其他幾個 SQL 數據庫管理系統也有它。

所以,問題:

問題是,ANSI SQL 標準對 deprecatingtext和最佳替代方案有什麼看法?另外,MySQL/MariaDB 也遵循這個嗎?

很容易回答:Nothing 和 No。沒有棄用 of TEXT,因為沒有TEXT類型。TEXT甚至不是 ANSI SQL 中的保留關鍵字。對於不在標準中的類型,一個 DBMS (MySQL) 不必遵循另一個 DBMS (SQL Server) 的棄用決策。

引用自:https://dba.stackexchange.com/questions/142424