久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

          <bdo id='QMBJh'></bdo><ul id='QMBJh'></ul>

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

        將函數(shù)與 OUTER APPLY 一起使用時(shí),將返回該值而不

        The value is returned instead of NULL when using function with OUTER APPLY(將函數(shù)與 OUTER APPLY 一起使用時(shí),將返回該值而不是 NULL)

              <tbody id='dg1Vb'></tbody>
              <bdo id='dg1Vb'></bdo><ul id='dg1Vb'></ul>
              <i id='dg1Vb'><tr id='dg1Vb'><dt id='dg1Vb'><q id='dg1Vb'><span id='dg1Vb'><b id='dg1Vb'><form id='dg1Vb'><ins id='dg1Vb'></ins><ul id='dg1Vb'></ul><sub id='dg1Vb'></sub></form><legend id='dg1Vb'></legend><bdo id='dg1Vb'><pre id='dg1Vb'><center id='dg1Vb'></center></pre></bdo></b><th id='dg1Vb'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='dg1Vb'><tfoot id='dg1Vb'></tfoot><dl id='dg1Vb'><fieldset id='dg1Vb'></fieldset></dl></div>
                <tfoot id='dg1Vb'></tfoot>

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

                • <legend id='dg1Vb'><style id='dg1Vb'><dir id='dg1Vb'><q id='dg1Vb'></q></dir></style></legend>
                • 本文介紹了將函數(shù)與 OUTER APPLY 一起使用時(shí),將返回該值而不是 NULL的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我在使用內(nèi)聯(lián)函數(shù)時(shí)得到奇怪的結(jié)果.代碼如下:

                  I am getting strange results when using inline function. Here is the code:

                  IF EXISTS (
                  SELECT * FROM sys.objects AS o WHERE name = 'vendor_relation_users'
                  ) DROP FUNCTION dbo.vendor_relation_users;
                  GO
                  CREATE FUNCTION [dbo].[vendor_relation_users]
                  (
                      @user_name CHAR(12)
                  )
                  RETURNS TABLE
                  AS
                      RETURN (SELECT @user_name AS user_name WHERE @user_name NOT LIKE '06%');
                  GO
                  
                  DECLARE @u CHAR(12) = '066BDLER'
                  SELECT a.user_name, is_v.user_name 
                  FROM (SELECT @u AS user_name) a
                  OUTER APPLY [dbo].[vendor_relation_users](@u) AS is_v
                  
                  SELECT a.user_name, is_v.user_name 
                  FROM (SELECT @u AS user_name) a
                  OUTER APPLY (SELECT @u AS user_name WHERE @u NOT LIKE '06%') AS is_v
                  
                  
                  SELECT * FROM [dbo].[vendor_relation_users](@u)
                  

                  所以在第一個(gè) SELECT 語句中,我只是對(duì)函數(shù)進(jìn)行了 OUTER APPLied 并返回結(jié)果.

                  So in the first SELECT statement I've just OUTER APPLied the function and it returns the result.

                  在下一個(gè)語句中,我從函數(shù)中取出代碼并將其直接放入 OUTER APPLY 語句中.

                  In the next statement I've took the code from function and put it straight to the OUTER APPLY statement.

                  最后一個(gè)語句只是直接的函數(shù)調(diào)用.

                  And the last statement is just the direct function call.

                  我不明白為什么 FIRST 查詢會(huì)返回值...

                  推薦答案

                  這是一個(gè)非常有趣的查詢.第一個(gè)查詢的行為取決于您是否使用 OPTION (RECOMPILE).

                  This is a very interesting query. The behaviour of your first query depends upon whether you use OPTION (RECOMPILE) or not.

                  正如您指出的那樣:

                  DECLARE @u CHAR(12) = '066BDLER'
                  SELECT a.user_name, is_v.user_name 
                  FROM (SELECT @u AS user_name) a
                  OUTER APPLY [dbo].[vendor_relation_users](@u) AS is_v
                  

                  返回:

                  user_name       user_name
                  066BDLER        066BDLER
                  

                  但是如果你像這樣添加OPTION (RECOMPILE):

                  but if you add OPTION (RECOMPILE) like this:

                  SELECT a.user_name, is_v.user_name 
                  FROM (SELECT @u AS user_name) a
                  OUTER APPLY [dbo].[vendor_relation_users](@u) AS is_v
                  OPTION (RECOMPILE)   
                  

                  你正確理解:

                  user_name       user_name
                  066BDLER        NULL
                  

                  我懷疑這是由于查詢優(yōu)化器如何根據(jù)基數(shù)估計(jì)使這些內(nèi)聯(lián)函數(shù)短路的錯(cuò)誤.如果您查看這兩個(gè)查詢的查詢計(jì)劃,您會(huì)發(fā)現(xiàn)沒有 OPTION RECOMPILE 的那個(gè)只返回一個(gè)常量.

                  I suspect this is due to a bug in how the query optimiser short circuits these inline functions due to cardinality estimates. If you look at the query plan for the two queries you will see that the one without the OPTION RECOMPILE just returns a constant.

                  這篇關(guān)于將函數(shù)與 OUTER APPLY 一起使用時(shí),將返回該值而不是 NULL的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  Break down a table to pivot in columns (SQL,PYSPARK)(分解表以按列進(jìn)行透視(SQL、PYSPARK))
                  Spark giving Null Pointer Exception while performing jdbc save(Spark在執(zhí)行jdbc保存時(shí)給出空指針異常)
                  execute query on sqlserver using spark sql(使用 spark sql 在 sqlserver 上執(zhí)行查詢)
                  executeSql failing after putSql processor(putSql處理器后executeSql失敗)
                  How can I compare the one line in one CSV with all lines in another CSV file?(如何將一個(gè) CSV 中的一行與另一個(gè) CSV 文件中的所有行進(jìn)行比較?)
                  How to map the column wise data in flowfile in NiFi?(如何在 NiFi 中映射流文件中的列數(shù)據(jù)?)
                • <small id='c2xNH'></small><noframes id='c2xNH'>

                    <legend id='c2xNH'><style id='c2xNH'><dir id='c2xNH'><q id='c2xNH'></q></dir></style></legend>
                          <tbody id='c2xNH'></tbody>
                        <tfoot id='c2xNH'></tfoot>
                          <bdo id='c2xNH'></bdo><ul id='c2xNH'></ul>

                          1. <i id='c2xNH'><tr id='c2xNH'><dt id='c2xNH'><q id='c2xNH'><span id='c2xNH'><b id='c2xNH'><form id='c2xNH'><ins id='c2xNH'></ins><ul id='c2xNH'></ul><sub id='c2xNH'></sub></form><legend id='c2xNH'></legend><bdo id='c2xNH'><pre id='c2xNH'><center id='c2xNH'></center></pre></bdo></b><th id='c2xNH'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='c2xNH'><tfoot id='c2xNH'></tfoot><dl id='c2xNH'><fieldset id='c2xNH'></fieldset></dl></div>
                            主站蜘蛛池模板: 成人中文字幕av | 国产91视频一区二区 | 欧美日韩一二三区 | av网站免费观看 | 日本视频中文字幕 | 成人在线视频一区 | 91精品国产91久久久久青草 | 精品国产乱码久久久久久牛牛 | 成人免费观看视频 | 成人免费影院 | 久久精品国产亚洲一区二区三区 | 成人在线视频网站 | a级片网站 | 中文字幕第一页在线 | 日韩精品在线一区 | 亚洲精品免费视频 | 久久五月婷| 日韩福利在线观看 | 在线播放一区 | 涩涩视频在线观看免费 | 国产精品亚洲精品久久 | 日韩福利在线 | 国产精品久久久久国产a级 欧美日韩国产免费 | 一区观看 | 国产大学生情侣呻吟视频 | 欧美精品91爱爱 | 中文字幕日韩欧美一区二区三区 | 亚洲福利在线视频 | 国产精品久久久久久亚洲调教 | 91久久精 | 成年人精品视频在线观看 | 成人免费观看男女羞羞视频 | 日本网站免费在线观看 | 久久久久国产精品一区二区 | 人人干天天干 | 国产精品久久久久久久一区二区 | 99爱在线免费观看 | 久久久精品影院 | 黄色一级大片在线免费看产 | 人人色视频 | 成年人免费在线视频 |