我从java检索数据然后插入Oracle,问题是oracle接受""
值然后转换它
进入表中的NULL。
这是不受欢迎的行为,当我再次从oracle中检索它时会导致问题
我期待""
而不是NULL
我更喜欢在oracle服务器端设置一些优雅的解决方案。全局配置或其他东西 而不是将数百万条if语句放入我的Java代码中。
答案 0 :(得分:3)
正如评论中所述,你无能为力。 Oracle将空字符串视为与NULL无异,并在为空字符串提供空字符串时将其存储到varchar2列中。 如果你真的想在那里有东西,你可以做什么,而是存储一个空间。
答案 1 :(得分:1)
在Oracle中将空字符串视为空值。
如上所述, only 解决方案用于区分空值和&空字符串是要记住null
值是唯一的,因为你不能在空值上使用常用的操作数(=,<,>等)。
相反,您必须使用IS NULL
和IS NOT NULL
条件来检查Oracle中的空值。
此外,为了选择列为空格但不是空字符串且不为空的记录,可以使用以下内容。
WHERE DATALENGTH(COLUMN) > 0
如果你想选择任何完全由空格组成的字符串为空。
WHERE COLUMN <> ''
希望这会对你有所帮助。