简单的SELECT查询失败

cll*_*pse 0 sql-server-2005

考虑一下fowling结构:

CREATE TABLE [tblEntityLogs]
(
    [EntityLogId] [int] IDENTITY(1,1) NOT NULL,
    [EntityCountCurrent] [float] NOT NULL,
    ...
)
Run Code Online (Sandbox Code Playgroud)

当执行下面的查询时,我得到一个空行返回...

DECLARE @N FLOAT
SET @N = 666

SELECT ISNULL(tblEntityLogs.EntityCountCurrent, @N) AS EntityCountCurrent
FROM tblEntityLogs
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

SELECT tblEntityLogs.EntityCountCurrent FROM tblEntityLogs
Run Code Online (Sandbox Code Playgroud)

同样的事情发生了.我甚至都没有NULL回来.

注意:该表为空.

Dav*_*wns 5

它没有失败,它没有返回任何行,因为没有行返回.如果有一行EntityCountCurrent设置为NULL,则会返回NULL(由于该列定义为NOT NULL,因此不会发生这种情况).