sql语句中起始时间问题

pimlee 2012-03-10 05:45:31
winform项目,
form上有两个日历控件,一个起始时间一个终止时间
现在要进行,日、月、年的统计数据

sql语句举例如下:

select * from 表 where 时间字段<=终止时间,时间字段>=控件起始时间

请问月和年的范围,字段怎么转化,怎么进行比较

谢谢
...全文
235 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pimlee 2012-03-10
  • 打赏
  • 举报
回复
解决了
pimlee 2012-03-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bdmh 的回复:]

引用 3 楼 pimlee 的回复:
我还要统计年、月的。是不是ToString("yyyy-MM")就可以了。
然后
dt要不要也转化成这样的格式:yyyy-MM

可以,不过最好和你的字段规则匹配,如果之比较期中的部分内容,可以取出年月分别比较,sql中有Month和Year函数,c#日期组件也有

dateTimePicker1.Value.Year;……
[/Quote]

碰到去年2011年和纪念2012年比较的话。及2011年12月和2012年4月。怎么写
DENQH 2012-03-10
  • 打赏
  • 举报
回复
用datediff()日期时间比较函数
bdmh 2012-03-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pimlee 的回复:]
我还要统计年、月的。是不是ToString("yyyy-MM")就可以了。
然后
dt要不要也转化成这样的格式:yyyy-MM
[/Quote]
可以,不过最好和你的字段规则匹配,如果之比较期中的部分内容,可以取出年月分别比较,sql中有Month和Year函数,c#日期组件也有

dateTimePicker1.Value.Year;
dateTimePicker1.Value.Month;
pimlee 2012-03-10
  • 打赏
  • 举报
回复
我还要统计年、月的。是不是ToString("yyyy-MM")就可以了。
然后
dt要不要也转化成这样的格式:yyyy-MM
bdmh 2012-03-10
  • 打赏
  • 举报
回复
string s = "select * from xxx where dt between " + dateTimePicker1.Value.ToShortDateString() + " and " + dateTimePicker2.Value.ToShortDateString();

如果还有时间的话,可以加上时间
dateTimePicker1.Value.ToString("yyyy-MM-dd hh:mm:ss");
pimlee 2012-03-10
  • 打赏
  • 举报
回复
string dt1 = dateTimePicker1.Value.Year.ToString();
string dt2 = dateTimePicker2.Value.AddDays(1).ToShortDateString();
whereStr += " and [GTime] >= Convert(datetime,'" + dt1 + "') AND [GTime] <= Convert(datetime,'" + dt2 + "') ";


这是我写的日统计的

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧