当你动态产生一个 sql 语句时,你应该写类似这样的代码var s = dt.ToString("yyyy-MM-dd"); var t = dt.AddDays(1).ToString("yyyy-MM-dd"); sql += "where [field name]>='"+ s + "' and [field name]<'"+t;
var s = dt.ToString("yyyy-MM-dd"); var t = dt.AddDays(1).ToString("yyyy-MM-dd"); sql += " where [field name]>='"+ s + "' and [field name]<'"+ t +“‘”; 显然,不是 between,只能是 [s, t) 这个范围,右边是不封闭的。注意,不要胡乱对数据库中的字段使用函数,不要随便就丧失了数据库“索引”。
当你动态产生一个 sql 语句时,你应该写类似这样的代码var s = dt.ToString("yyyy-MM-dd");
var t = dt.AddDays(1).ToString("yyyy-MM-dd");
sql += "where [field name]>='"+ s + "' and [field name]<'"+t;
var t = dt.AddDays(1).ToString("yyyy-MM-dd");
sql += " where [field name]>='"+ s + "' and [field name]<'"+ t +“‘”;
显然,不是 between,只能是 [s, t) 这个范围,右边是不封闭的。注意,不要胡乱对数据库中的字段使用函数,不要随便就丧失了数据库“索引”。