当前位置:  开发笔记 > 数据库 > 正文

Oracle空字符串

如何解决《Oracle空字符串》经验,为你挑选了1个好方法。

你们如何用Oracle处理空字符串?

声明#1:Oracle在"varchar2"字段中将空字符串(例如'')视为NULL.
声明#2:我们有一个定义抽象'表结构'的模型,其中我们有字段,不能为NULL,但可以是"空".该模型适用于各种DBMS; 几乎无处不在,一切都很好,但不是Oracle.您无法将空字符串插入"非空"字段.
声明#3:在我们的情况下不允许非空默认值.

那么,有人会如此友善地告诉我 - 我们如何解决它?



1> paxdiablo..:

这就是为什么我从未理解为什么Oracle如此受欢迎的原因.基于他们多年前做出的愚蠢决定,他们实际上并没有遵循SQL标准.

Oracle 9i SQL Reference声明(至少有三个主要版本):

Oracle目前将长度为零的字符值视为null.但是,在将来的版本中,这可能不会继续存在,Oracle建议您不要将空字符串视为与空值相同.

但他们不说什么,你应该做的.我找到解决这个问题的唯一方法是:

有一个哨兵值,在你的真实数据中不会出现以表示NULL(例如,对于一个姓氏字段的"脱氧核糖核酸",并希望电影明星不会开始给他们的孩子奇怪的姓氏以及奇怪的名字:-).

有一个单独的字段来指示第一个字段是否有效,基本上是真正的数据库对NULL的作用.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有