久久久久久久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'>

        將函數與 OUTER APPLY 一起使用時,將返回該值而不

        The value is returned instead of NULL when using function with OUTER APPLY(將函數與 OUTER APPLY 一起使用時,將返回該值而不是 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>
                • 本文介紹了將函數與 OUTER APPLY 一起使用時,將返回該值而不是 NULL的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我在使用內聯函數時得到奇怪的結果.代碼如下:

                  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)
                  

                  所以在第一個 SELECT 語句中,我只是對函數進行了 OUTER APPLied 并返回結果.

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

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

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

                  最后一個語句只是直接的函數調用.

                  And the last statement is just the direct function call.

                  我不明白為什么 FIRST 查詢會返回值...

                  推薦答案

                  這是一個非常有趣的查詢.第一個查詢的行為取決于您是否使用 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
                  

                  我懷疑這是由于查詢優化器如何根據基數估計使這些內聯函數短路的錯誤.如果您查看這兩個查詢的查詢計劃,您會發現沒有 OPTION RECOMPILE 的那個只返回一個常量.

                  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.

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

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

                  相關文檔推薦

                  Break down a table to pivot in columns (SQL,PYSPARK)(分解表以按列進行透視(SQL、PYSPARK))
                  Spark giving Null Pointer Exception while performing jdbc save(Spark在執行jdbc保存時給出空指針異常)
                  execute query on sqlserver using spark sql(使用 spark sql 在 sqlserver 上執行查詢)
                  executeSql failing after putSql processor(putSql處理器后executeSql失敗)
                  How can I compare the one line in one CSV with all lines in another CSV file?(如何將一個 CSV 中的一行與另一個 CSV 文件中的所有行進行比較?)
                  How to map the column wise data in flowfile in NiFi?(如何在 NiFi 中映射流文件中的列數據?)
                • <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一区二区 | 国产一区视频在线 | 色婷婷av久久久久久久 | 福利片一区二区 | 九九热这里只有精品6 | 亚州国产 | 6080yy精品一区二区三区 | 精品九九久久 | 亚洲精品国产一区 | 国产一区二区在线观看视频 | 日本a级大片| 国产成人一区 | 97超级碰碰 | 精品国产免费一区二区三区演员表 | 一区二区av | 亚洲综合二区 | 丝袜久久| 粉嫩一区二区三区性色av | 欧美a级网站 | 国产一区二区在线视频 | 一区二区亚洲 | 欧美a级成人淫片免费看 | 久久国产成人精品国产成人亚洲 | 国产欧美在线一区二区 | 精品国产一区二区三区免费 | 麻豆久久 | 日韩电影一区 | 三级免费 | 99国产欧美| 精品区一区二区 | 国产精品日本一区二区在线播放 | 尹人av | 91精品国产欧美一区二区 | 中文字幕视频网 | 国产精品成人一区二区三区吃奶 | 蜜桃视频成人 | 99久久精品免费 | 欧美成人a| 99这里只有精品视频 | 不卡在线视频 | 黄色一级毛片免费看 |