1

我在 Oracle 数据库中有一个名为“ id ”的字段列,“id”的值可以是 null 或 2-space(即“”)字符串。该字段值由第三方应用程序 (Serena Business Manager) 映射。我应该编写一个 javascript 来判断该字段是空的还是有 2 个空格。

我通过javascript语句尝试过:

if(id === '')
{
     doSomething()
}

这将允许那些在数据库中具有空值的 'id' 通过。所以这里有一个问题:如何让数据库中带有空格(不一定是两个)的字符串传递一个 javascript 'if' 语句?

4

3 回答 3

2

在 Oracle 中,NULL 和空字符串之间没有区别。空字符串为 NULL。您无法在代码中区分两者,因为您无法在数据库中区分它们。

StackOverflow 上有另一个线程,我们在其中讨论为什么 Oracle 将空字符串视为 NULL,尽管 ANSI 标准规定应区别对待这两者。

因为听起来您实际上不是在寻找空字符串,而是在寻找带有两个空格的字符串

if(id === '' || id == '  ')
{
     doSomething()
}
于 2012-10-09T22:48:59.743 回答
1

如果您想在字符串为空或为空时执行某些操作:

if (!id || id === '') {
    doSomething()
}

试试这个jsfiddle

于 2012-10-09T22:45:49.157 回答
0

你可以使用NVL(id, 'this was really null') AS id. 这将使您当前的 JavaScript 工作。

您的查询看起来如何?它是如何到达 JS 的?null在您粘贴的代码之前,您的或“空”字符串可能发生了很多事情......

PS:一个空或空的'id'数据库列有点奇怪...... :)

于 2012-10-09T22:48:23.617 回答