我意识到这个问题已经回答了很多,并且已经退休了,但是我在找到类似情况的答案时发现了这个问题,我无法拒绝将我的帽子扔在戒指中。
在不知道NULL /“”列涉及到什么的情况下,我无法知道空字符串的真正意义。空字符串是否意味着自己的东西(比如说,如果我说服法官让我把我的名字改为没有任何东西,那么如果我的名字在我的驾驶执照中显示为NULL,我会非常恼火,我的名字就是!
然而,空字符串(或空白,或者是SOMETHING的空白,不仅仅是缺少任何东西(如NULL))也可能仅仅意味着“NOT NULL”或“Nothing,但仍然不是NULL”。你甚至可以走向另一个方向,并建议没有NULL值使它甚至比Null更少,因为至少Null有你可以大声说出的名字!
我的观点是,如果空字符串是一些数据的直接表示(比如名字,或者我喜欢在我的电话号码之间插入的数字等),那么您的选择或者是争论,直到你痛苦对于空字符串的合法使用或者使用表示不为NULL的空字符串的东西(像ASCII控制字符或某个等同于Unicode的值,某种类型的正则表达式值,或者甚至更糟,是一个任意但完全未使用的令牌如:◘
如果空单元格确实意味着NOT NULL,那么您可以想出其他表达方式。一个愚蠢而明显的方式是短语“不空”。但我有一种预感,即NULL意味着类似于“根本不属于这个群体”,而空字符串意味着像“这个人很酷,他还没有得到他的帮派纹身”。在这种情况下,我会为这种情况提出一个术语/名称/想法,例如“默认”或“菜鸟”或“待定”。
现在,如果出于某种疯狂的机会,你实际上需要空字符串来表示那些甚至不值得NULL的字符串,再次提出一个更重要的符号,例如“-1”或“SUPERNULL”或“UGLIES”。
在印度的种姓制度中,最低的种姓是舒德拉:农民和劳工。在这个种姓的下面是达利特:“不可驯服者”。它们不被视为较低等级,因为将它们设定为最低等级将被认为是整个系统的污染。
所以不要认为空字符串可能会比NULL更糟!
'下一次。