• <legend id='jwaaO'><style id='jwaaO'><dir id='jwaaO'><q id='jwaaO'></q></dir></style></legend>
    <tfoot id='jwaaO'></tfoot>
    <i id='jwaaO'><tr id='jwaaO'><dt id='jwaaO'><q id='jwaaO'><span id='jwaaO'><b id='jwaaO'><form id='jwaaO'><ins id='jwaaO'></ins><ul id='jwaaO'></ul><sub id='jwaaO'></sub></form><legend id='jwaaO'></legend><bdo id='jwaaO'><pre id='jwaaO'><center id='jwaaO'></center></pre></bdo></b><th id='jwaaO'></th></span></q></dt></tr></i><div id='jwaaO'><tfoot id='jwaaO'></tfoot><dl id='jwaaO'><fieldset id='jwaaO'></fieldset></dl></div>
    • <bdo id='jwaaO'></bdo><ul id='jwaaO'></ul>

    <small id='jwaaO'></small><noframes id='jwaaO'>

        NOT IN 子句中的 NULL 值

        NULL values inside NOT IN clause(NOT IN 子句中的 NULL 值)

            <tfoot id='FeUxI'></tfoot>

            • <bdo id='FeUxI'></bdo><ul id='FeUxI'></ul>

              <legend id='FeUxI'><style id='FeUxI'><dir id='FeUxI'><q id='FeUxI'></q></dir></style></legend>
                  <tbody id='FeUxI'></tbody>
              1. <small id='FeUxI'></small><noframes id='FeUxI'>

                <i id='FeUxI'><tr id='FeUxI'><dt id='FeUxI'><q id='FeUxI'><span id='FeUxI'><b id='FeUxI'><form id='FeUxI'><ins id='FeUxI'></ins><ul id='FeUxI'></ul><sub id='FeUxI'></sub></form><legend id='FeUxI'></legend><bdo id='FeUxI'><pre id='FeUxI'><center id='FeUxI'></center></pre></bdo></b><th id='FeUxI'></th></span></q></dt></tr></i><div id='FeUxI'><tfoot id='FeUxI'></tfoot><dl id='FeUxI'><fieldset id='FeUxI'></fieldset></dl></div>
                • 本文介绍了NOT IN 子句中的 NULL 值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  当我得到不同的记录计数时出现了这个问题,我认为是相同的查询,一个使用 not in where 约束,另一个使用 left join.not in 约束中的表有一个空值(坏数据),这导致该查询返回 0 条记录.我有点理解为什么,但我可以借助一些帮助来完全掌握这个概念.

                  This issue came up when I got different records counts for what I thought were identical queries one using a not in where constraint and the other a left join. The table in the not in constraint had one null value (bad data) which caused that query to return a count of 0 records. I sort of understand why but I could use some help fully grasping the concept.

                  简单地说,为什么查询 A 返回结果而 B 没有?

                  To state it simply, why does query A return a result but B doesn't?

                  A: select 'true' where 3 in (1, 2, 3, null)
                  B: select 'true' where 3 not in (1, 2, null)
                  

                  这是在 SQL Server 2005 上.我还发现调用 set ansi_nulls off 会导致 B 返回结果.

                  This was on SQL Server 2005. I also found that calling set ansi_nulls off causes B to return a result.

                  推荐答案

                  Query A 同:

                  select 'true' where 3 = 1 or 3 = 2 or 3 = 3 or 3 = null
                  

                  因为 3 = 3 为真,所以你得到了结果.

                  Since 3 = 3 is true, you get a result.

                  查询 B 与以下内容相同:

                  Query B is the same as:

                  select 'true' where 3 <> 1 and 3 <> 2 and 3 <> null
                  

                  ansi_nulls 开启时,3 <>null 是 UNKNOWN,因此谓词的计算结果为 UNKNOWN,并且您不会得到任何行.

                  When ansi_nulls is on, 3 <> null is UNKNOWN, so the predicate evaluates to UNKNOWN, and you don't get any rows.

                  ansi_nulls 关闭时,3 <>null 为真,因此谓词的计算结果为真,并且您得到一行.

                  When ansi_nulls is off, 3 <> null is true, so the predicate evaluates to true, and you get a row.

                  这篇关于NOT IN 子句中的 NULL 值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Select n random rows from SQL Server table(从 SQL Server 表中随机选择 n 行)
                  SQL query to select dates between two dates(用于选择两个日期之间的日期的 SQL 查询)
                  How can I delete using INNER JOIN with SQL Server?(如何在 SQL Server 中使用 INNER JOIN 进行删除?)
                  Table Naming Dilemma: Singular vs. Plural Names(表命名困境:单数与复数名称)
                  INSERT statement conflicted with the FOREIGN KEY constraint - SQL Server(INSERT 语句与 FOREIGN KEY 约束冲突 - SQL Server)
                  How ROWNUM works in pagination query?(ROWNUM 如何在分页查询中工作?)
                  <i id='MGHQJ'><tr id='MGHQJ'><dt id='MGHQJ'><q id='MGHQJ'><span id='MGHQJ'><b id='MGHQJ'><form id='MGHQJ'><ins id='MGHQJ'></ins><ul id='MGHQJ'></ul><sub id='MGHQJ'></sub></form><legend id='MGHQJ'></legend><bdo id='MGHQJ'><pre id='MGHQJ'><center id='MGHQJ'></center></pre></bdo></b><th id='MGHQJ'></th></span></q></dt></tr></i><div id='MGHQJ'><tfoot id='MGHQJ'></tfoot><dl id='MGHQJ'><fieldset id='MGHQJ'></fieldset></dl></div>

                    <tbody id='MGHQJ'></tbody>
                • <small id='MGHQJ'></small><noframes id='MGHQJ'>

                      <legend id='MGHQJ'><style id='MGHQJ'><dir id='MGHQJ'><q id='MGHQJ'></q></dir></style></legend>
                      • <bdo id='MGHQJ'></bdo><ul id='MGHQJ'></ul>

                          1. <tfoot id='MGHQJ'></tfoot>