SQL中的疑难解答错误

时间:2017-11-23 16:50:30

标签: sql sql-server

以下代码在Oracle和SQL Server 2008这两个不同的环境中运行时会产生不同的记录数。两个数据库中的表都是相同的。

在SQL中是否有任何方法可以使用类似断点的机制检查代码的每一步中的记录计数,这样我就能找到错误?

代码:

SELECT 
    col1, col2, col3
    CASE 
       WHEN col4 IS NULL THEN SUM(xamt) ELSE 0 
    END) AS xamt,
FROM 
    MYTABLE as A
LEFT JOIN 
    LTDTABLE as B ON A.COL1 = B.COL1
WHERE   
    A.RECORD_ID = 'S1'
    AND B.ZSTATUS = ''
    AND (A..REFERRED_BY = '')
    OR (B.ZSTATUS = '')
    AND A.REFERRED_BY <> 'ZED'

由于

1 个答案:

答案 0 :(得分:0)

组功能在Oracle和MSSQL上的运行方式不同。与MSSQL不同,Oracle不会忽略null值。

这也值得检查整理,以及涂层实际上是什么名称(例如,MySQL中的utf8并不是完整的utf8)。