Joh*_*ogo 3 sql t-sql sql-server count
有人能帮我理解吗?当我可以,我通常在SQL语句中避免(*).好吧,今天是回报.这是一个场景:
CREATE TABLE Tbl (Id INT IDENTITY(1, 1) PRIMARY KEY, Name NVARCHAR(16))
INSERT INTO Tbl VALUES (N'John')
INSERT INTO Tbl VALUES (N'Brett')
INSERT INTO Tbl VALUES (NULL)
Run Code Online (Sandbox Code Playgroud)
我可以指望的记录数,其中Name是NULL如下:
SELECT COUNT(*) FROM Tbl WHERE Name IS NULL
Run Code Online (Sandbox Code Playgroud)
在避免(*)的同时,我发现以下两个语句给出了两个不同的结果:
SELECT COUNT(Id) FROM Tbl WHERE Name IS NULL
SELECT COUNT(Name) FROM Tbl WHERE Name IS NULL
Run Code Online (Sandbox Code Playgroud)
第一个语句正确返回1,而第二个语句产生0.Why还是How?
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |