SQL中varchar和varchar2的区别
Posted
技术标签:
【中文标题】SQL中varchar和varchar2的区别【英文标题】:Difference between varchar and varchar2 in SQL 【发布时间】:2011-04-25 13:14:13 【问题描述】:SQL 中的 varchar 和 varchar2 有什么区别。请用一些好的例子详细说明。
【问题讨论】:
What is the difference between varchar and varchar2?的可能重复 【参考方案1】:Varchar2 是 Oracle 特有的。
varchar2 最重要的非标准行为是空字符串 (''
) 与 null 相同。
在标准 SQL 中,null 与任何字符串文字不同,甚至是空字符串。
【讨论】:
+1 可能值得一提的是,在 Oracle 中,一个条件测试Field = ''
是否总是评估为 NULL(即永远不会为真),即使 Field
是 ''(即 NULL)。
@Mark:谢谢,这很好。而在标准 SQL 中,Field = ''
可能是真的。【参考方案2】:
它们的行为相同,但建议使用 varchar2:
目前 VARCHAR 的行为与 与 VARCHAR2 相同。然而,这种类型 不应使用,因为它是保留的 以备将来使用。
Source
【讨论】:
【参考方案3】:DBA StackExchange 上的 Leigh Riffel 提供了我读过的关于 VARCHAR 和 VARCHAR2 之间区别的最详细和准确的概述:https://dba.stackexchange.com/a/1303
【讨论】:
以上是关于SQL中varchar和varchar2的区别的主要内容,如果未能解决你的问题,请参考以下文章
MS T-SQL 是不是包含名为 varchar2 的数据类型?如果是这样,它和varchar之间有啥区别?