你们如何用 Oracle 处理空字符串?
声明 #1 :Oracle 将“varchar2”字段中的空字符串(例如 '')视为 NULL。
声明#2 :我们有一个定义抽象“表结构”的模型,其中我们有字段,即 不能为 NULL,但 可以 成为“空”。该模型适用于各种 DBMS;几乎在任何地方,一切都很好,但不是 Oracle。您不能将空字符串插入“非空”字段中。
声明 #3 :在我们的例子中不允许非空默认值。
那么,有人会这么好心告诉我 - 我们如何解决它?
最佳答案
这就是为什么我一直不明白为什么 Oracle 如此受欢迎。基于他们多年前做出的一个愚蠢决定,他们实际上并不遵循 SQL 标准。
Oracle 9i SQL Reference 指出(至少在三个主要版本中已经存在):
Oracle currently treats a character value with a length of zero as null. However, this may not continue to be true in future releases, and Oracle recommends that you do not treat empty strings the same as nulls.
但他们没有说你应该做什么。我发现解决这个问题的唯一方法是:
关于Oracle 空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/692202/