小编A J*_*A J的帖子

T-SQL和存储过程通过相同的查询给出不同的结果

我是新来的。有一个奇怪的问题。我的T-SQL查询返回69行,但是存储过程中的同一查询返回零结果。

在StackOverflow的其中一篇文章中,有人切换了EXEC语句中的参数/变量,但这对我也不起作用,如下所示。

除了BETWEEN,我还尝试了>=<=,但没有运气。

谢谢。

SELECT 
    T1.CustKey
FROM 
    INVOICEROWS T0 
INNER JOIN 
    INVOICE T1 ON T1.INVKEY = T0.INVKEY 
INNER JOIN 
    ITEMS T2 ON T2.PARTCODE = T0.PARTCODE  
INNER JOIN 
    CUSTOMERS T5 ON T5.CustKey = T1.CustKey
WHERE 
    T1.INVDATE BETWEEN '2018-03-26' AND '2018-03-26'
    AND ((T1.CustKey BETWEEN 'ABC' AND 'ABC') OR (T5.CustGroupKey = ''))
    AND ((T0.ItemKey BETWEEN 'PQR' AND 'STU') OR (T2.ItemGroupKey = ''))
Run Code Online (Sandbox Code Playgroud)

结果:69行具有相同的值“ ABC”(正确)

ALTER PROCEDURE [dbo].[PROC1]
    (@DATEFROM AS DATE,
     @DATETO AS DATE,
     @CUSTKEYFROM AS NVARCHAR,
     @CUSTKEYTO …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures between

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

标签 统计

between ×1

sql-server ×1

stored-procedures ×1

t-sql ×1