如何在特定字段为空时获取行数
本文关键字:获取 字段 | 更新日期: 2023-09-27 18:07:50
RowID TimeReceived TimeRead tbl_user_UserID tbl_message_MsgID
5 2011-09-06 11:16:20 NULL 2 1
6 2011-09-06 11:17:04 NULL 3 1
7 2011-09-06 11:17:19 NULL 100 1
这是我的表
command = new MySqlCommand("SELECT COUNT(Distinct RowID) FROM tbl_usermessage WHERE TimeRead= NULL AND tbl_message_MsgID=@Value1", connectionString);
command.Parameters.Add("@value1", MySqlDbType.Int32, 25);
command.Parameters["@value1"].Value = MessageID;
int nnnID = Convert.ToInt32(command.ExecuteScalar());
我想计算timeread为空的行,它给我0作为输出,它应该是3。我哪里做错了。我已经将时间读取的默认值设置为null。
查询count
select count(Distinct RowID) from table where TimeRead is null
用" is NULL
"代替" = NULL
"
SELECT COUNT(Distinct RowID) FROM tbl_usermessage WHERE TimeRead is NULL ...
还要检查参数@value1
是否正确!
您的SQL不正确。您可以使用IS NULL
:
command = new MySqlCommand("SELECT COUNT(Distinct RowID) FROM tbl_usermessage WHERE TimeRead IS NULL AND tbl_message_MsgID=@Value1", connectionString);
command.Parameters.Add("@value1", MySqlDbType.Int32, 25);
command.Parameters["@value1"].Value = MessageID;
int nnnID = Convert.ToInt32(command.ExecuteScalar());