【发布时间】:2023-03-12 07:25:02
【问题描述】:
显然,oracle 似乎无法区分空字符串和空值。例如。
Select name from TABLE_A where id=100;
ID NAME
100 null
Update TABLE_A set NAME='' where id=100;
SELECT -->
ID NAME
100 null
SELECT length(NAME) FROM TABLE_A WHERE id=100;
null
我想不出任何好的理由为什么要构建 Oracle 以这种方式运行(它在 sqlplus 中也这样做吗?-我正在通过 java 接口访问,引用的文章使用了 php 客户端)。
您至少不想区分 0 长度和未定义长度吗?这是一个已知的问题?出于某种特定目的的故意行为?数据库理论的长期争论?是什么赋予了?
(这是由 Matt Solnit 对 this question 的回答提示的。)
【问题讨论】:
-
这个问题已被发布为相关问题,尽管它没有解决“为什么”:stackoverflow.com/questions/1171196/…