Bla*_*ite 2 sql t-sql sql-server
我正在使用SQL Server,它似乎返回在我的谓词中过滤了AGAINST的行.我已经将我的查询缩小到一些小但返回错误数据的东西.
DECLARE @ConnectMagicNumber BIGINT;
SET @ConnectMagicNumber = 4294967296;
SELECT DISTINCT
FLOOR(pe.ID_PE/@ConnectMagicNumber) as 'PE-StaNo',
pe.FName, pe.VName
FROM [dbo].[CRM_CPPE] pe
WHERE
-- Predicate below is not being applied
(FLOOR(pe.ID_PE/@ConnectMagicNumber)) > 5000
--
AND pe.FName = 'Augendoppler' OR (pe.FName = 'Batinic' AND pe.VName ='Drasco')
Run Code Online (Sandbox Code Playgroud)
当我明确过滤那些大于5000的那一行时,为什么PE-StaNo为1的那一行会回来.
任何有关我缺少的帮助将不胜感激.我动摇了我无法正确过滤的核心.
你在这里缺少一些括号.您需要记住操作的顺序.
WHERE
-- Predicate below is not being applied
(FLOOR(pe.ID_PE/@ConnectMagicNumber)) > 5000
--
AND (pe.FName = 'Augendoppler' OR (pe.FName = 'Batinic' AND pe.VName ='Drasco'))
Run Code Online (Sandbox Code Playgroud)