类似question,但对于Oracle。
为什么我不总是想选择VARCHAR(MAX)?
答案 0 :(得分:8)
因为它在Oracle中不起作用!如果需要,可以将所有列声明为VARCHAR2(4000),但不建议以任何方式使用。数据库的存储或性能没有区别,但是:
答案 1 :(得分:6)
可能是因为Oracle
不支持VARCHAR(MAX)
。
VARCHAR
根本不应在Oracle
中使用。
就目前而言,它是VARCHAR2
的同义词,但它可能在将来发生变化,以便区分空字符串和NULL
。
VARCHAR
应该这样做,但在当前版本的Oracle
中不会这样做,因此不应该使用。
在Oracle
中,VARCHAR2
的最大长度为4000
中的SQL
和32767
中的PL/SQL
。
对于较大的值,您应该使用CLOB
,但它与VARCHAR2
非常不同。您应该使用特殊方法来访问它等。
答案 2 :(得分:3)