【问题标题】:Difference between varchar and varchar2 in SQLSQL中varchar和varchar2的区别
【发布时间】:2011-04-25 13:14:13
【问题描述】:

SQL 中的 varchar 和 varchar2 有什么区别。请用一些好的例子详细说明。

【问题讨论】:

标签: sql


【解决方案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

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2017-09-25
      • 2019-06-29
      • 1970-01-01
      • 2021-03-22
      相关资源
      最近更新 更多