标签: isnull

MySQL - 搜索NULL值

我测试了一个奇怪的查询,涉及我搜索不存在的记录.

简而言之,我有3 tables: tbl_customers tbl_customers_notes tbl_customers_pipelines

客户和笔记非常明显,但管道却不是.基本上,管道就是管理员分配给单个管道的权限customerid.

这是管道的表结构:

ID | customerid | adminid |

我没有必要创建ID列,但无论如何我做了,它自动递增.

每个客户记录都从没有加入管道记录开始.因此,首次创建customerid时它是空的.如果我想分配管理员来管理新的customerid,只需为每个管理员添加一条记录:

ID  | customerid | adminid
---------------------------
1   |    45      |   6
2   |    45      |   8
3   |    45      |   10
Run Code Online (Sandbox Code Playgroud)

这意味着customerid:45分配了3个adminid.
(顺便说一下,adminid就像销售人员)

我在下面有一个查询,可以让我搜索来自特定管理员的缺少备注的customerid.它很棒:

SELECT c.*
FROM `tbl_customers` c 
LEFT JOIN `tbl_customers_pipelines` cp ON c.customerid = cp.customerid 
WHERE c.customerid 
          NOT IN(SELECT n.customerid 
                 FROM `tbl_customers_notes` n 
                 WHERE n.datesubmitted BETWEEN '2011-12-01 14:00:00' 
                 AND '2011-12-03 13:59:59' 
                 AND n.categoryid IN(10)
                )

AND cp.adminid …
Run Code Online (Sandbox Code Playgroud)

mysql isnull

0
推荐指数
1
解决办法
2222
查看次数

SQL 视图中列的默认值

我有一个包含许多列的 SQL 视图。ID(地块 ID)例如:7465-85-7468 建筑物(如果需要特定建筑物的 ID)例如:102 房间(如果需要特定房间的 ID)例如:0023

我每行都有一个 ID,但对于大多数行,没有建筑物 ID 或房间 ID

我想用 '000' 来填充空白行以表示建筑,用 '0000' 来表示房间。

我可以将这些字段合并到第四个字段中(完整 ID)

它尝试使用“ISNULL”获取默认值,但没有成功。

现在,我有这样的东西

ID / 建筑物 / 房间 / 完整 ID

7848-05-6956 / / / 7848-05-6956--

6985-26-7485 / 102 / 0000 / 6985-26-7485-102-0000

7236-12-0145 / / 0223 / 7236-12-0145--0223

我需要这个

ID / 建筑物 / 房间 / 完整 ID

7848-05-6956 / 000 / 0000 / 7848-05-6956-000-0000

6985-26-7485 / 102 / 0000 / 6985-26-7485-102-0000

7236-12-0145 / 000 / 0223 / 7236-12-0145-000-0223

sql default view isnull

0
推荐指数
1
解决办法
2308
查看次数

SQL检查where语句中某些列的值是否为null,如果是,则将其设置为某个值

我有这个SQL查询

SELECT * 
FROM   ##tempt 
WHERE  ( minstock <= 0 
         AND numitems - backorder - cstock >= 1 ) 
        OR ( minstock >= 1 
             AND numitems - backorder + minstock - cstock >= 1 ) 
Run Code Online (Sandbox Code Playgroud)

我如何检查值是否minstock为null,如果为null,则将其设置为某个数字?

t-sql isnull where sql-server-2008-r2

0
推荐指数
1
解决办法
2972
查看次数

当其他工作正常时,document.getElementById返回null

我在SO和网络上看过很多其他帖子,但是这些帖子涉及在创建元素之前尝试添加事件处理程序.我的情况有所不同.

我有一个html文档,其中包含以下部分:

<nav id="main_menu">                
            <ul>                
                <li id="liMapFilter" class="list"><img id="imgFilter" src="images/filter_icon.png">Filter</li>
                <li id="liDiagnostics" class="list"><img id="imgTools" src="images/tools_icon.png">Administration</li>              
            </ul>           
        </nav>
Run Code Online (Sandbox Code Playgroud)

我设置页面加载后,通过调用多个事件处理程序:

$(document).ready(function() {
    home.init();
});
Run Code Online (Sandbox Code Playgroud)

home.init()函数中我设置了以下监听器:

var elmMapFilter = document.getElementById('liMapFilter"');
cs_core.addEvent(elmMapFilter, 'click', home.showDialogMapFilter, false);
Run Code Online (Sandbox Code Playgroud)

所有其他侦听器处理程序都很好,但是这个特定的处理程序总是抛出一个空引用.我无法理解这个处理程序何时正常工作:

var elmDiagnostics = document.getElementById('liDiagnostics');
cs_core.addEvent(elmDiagnostics, 'click', core.showDiagnostics, false);
Run Code Online (Sandbox Code Playgroud)

请指教.

javascript exception isnull

0
推荐指数
1
解决办法
92
查看次数

SQL Server将NULL转换为select*中的空字符串

我需要执行以下操作:

 SELECT * FROM [MY_TVF](9186)
 FOR XML AUTO, ELEMENTS
Run Code Online (Sandbox Code Playgroud)

并用NULL空字符串替换所有值''以将它们包含在XML中.我知道我可以xsi:nil="true"通过设置吐出带有属性的元素ELEMENTS XSINIL,但我不希望这样.

我发现了这个问题:将NULL转换为空字符串SQL Server,答案说我可以使用ISNULL()我的查询.我试过这样:

ISNULL((SELECT * FROM [MY_TVF](9186)),'')
FOR XML AUTO,ELEMENTS
Run Code Online (Sandbox Code Playgroud)

但我无法让它发挥作用.我收到以下错误:

消息102,级别15,状态1,行1','附近的语法不正确.

我该怎么做才能简单地用NULL空字符串替换所有值,以便它们包含在XML中?

编辑

无法替换*按列名称.我们使用TVF有一个原因,大约有40列,它们可能会随着时间而改变.我的查询只是选择所有内容并将其作为XML返回.

xml sql sql-server isnull null-coalescing

0
推荐指数
1
解决办法
6034
查看次数

如何防止在此TSQL中返回所有Null值?

我有这个TSQL:

SELECT Invd.Unit, M.MemberName, Invd.Description
FROM InvoiceDetail Invd
LEFT JOIN Members M on Invd.MemberNo = M.MemberNo
GROUP BY Invd.Unit, M.MemberName, Invd.Description
Run Code Online (Sandbox Code Playgroud)

...对于返回的90%(除了令人痛苦的慢)之外效果很好,但大约10%的返回记录包含Invd.Unit或M.MemberName或两者的Null值.

我只想要任何地方没有Null的记录.我需要做什么来防止在结果集中返回包含任何空值的记录?

我不想使用这样的东西:

SELECT IsNull(Invd.Unit, 'no Unit'), IsNull(M.MemberName, 'no Member Name'), Invd.Description
. . .
Run Code Online (Sandbox Code Playgroud)

我根本不想要那些记录; 我只想要这三个字段的唯一/不同组合(不包括任何一个中的空值 - 数据仅在存在所有三个值的情况下才有用).

sql t-sql sql-server null isnull

0
推荐指数
1
解决办法
99
查看次数

SQL ISNULL 不起作用

我试图00001在查询结果为空但查询仍然返回空时显示。我不知道我的查询有什么问题。

编辑:

假设OBRNo123-5678-10-13-1619手段LEN(a.OBRNo) is 19

SELECT TOP 1 CASE WHEN RIGHT(a.OBRNo, 5) = NULL THEN '00001' ELSE a.OBRNo 
END as CaseWhen, 
ISNULL(a.OBRNo, '00001') as ISNULL,
RIGHT(OBRNo, 5) as OrderBy
FROM tbl_T_BMSCurrentControl as a
WHERE LEN(a.OBRNo) = 20 and a.ActionCode = 1
ORDER BY OrderBy DESC
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

sql sql-server isnull case-when

0
推荐指数
1
解决办法
1万
查看次数

将ISNULL合并到CASE表达式中

我有以下CASE表达式,该ISNULL部分未注册:

CASE WHEN IsNull(2010) THEN 0 END) * 
CASE WHEN IsNumeric([Dur_In_Hours]) = 1 THEN 
  CAST([Dur_In_Hours] AS FLOAT) ELSE 0 END) AS Cost
Run Code Online (Sandbox Code Playgroud)

isnull sql-server-2008

-2
推荐指数
1
解决办法
2266
查看次数