我在Oracle数据库中有一个名为' id '的字段列,'id'的值可以是null或2-space(即“”)字符串。该字段值由第三方应用程序(Serena Business Manager)映射。我应该写一个javascript来判断该字段是空还是2个空格。
我是通过javascript声明尝试的:
if(id === '')
{
doSomething()
}
这将允许那些在数据库传递中具有空值的id。所以这里有一个问题:如何在数据库中使用带空格的字符串(不一定是两个)传递一个javascript'if'语句?
答案 0 :(得分:2)
在Oracle中,NULL和空字符串之间没有区别。空字符串为NULL。您无法在代码中区分这两者,因为您无法在数据库中区分它们。
StackOverflow上有另一个线程我们讨论why Oracle treats the empty string as NULL,尽管ANSI标准规定应该区别对待这两个线程。
因为听起来你实际上并不是在找空字符串而是在寻找有两个空格的字符串
if(id === '' || id == ' ')
{
doSomething()
}
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以使用NVL(id, 'this was really null') AS id
。这将使您当前的JavaScript工作。
您的查询如何?怎么去JS?在你粘贴代码之前,你的null
或“空”字符串可能发生了很多事情......
PS:'id'数据库列为空或null有点奇怪......:)