当前位置:编程学习 > C#/ASP.NET >>

sql语句中起始时间问题

winform项目,
form上有两个日历控件,一个起始时间一个终止时间
现在要进行,日、月、年的统计数据

sql语句举例如下:

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

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

谢谢
--------------------编程问答--------------------
string dt1 = dateTimePicker1.Value.Year.ToString();
            string dt2 = dateTimePicker2.Value.AddDays(1).ToShortDateString();
            whereStr += " and [GTime] >= Convert(datetime,'" + dt1 + "') AND [GTime] <= Convert(datetime,'" + dt2 + "')  ";


这是我写的日统计的 --------------------编程问答--------------------
string s = "select * from xxx where dt between " + dateTimePicker1.Value.ToShortDateString() + " and " + dateTimePicker2.Value.ToShortDateString();

如果还有时间的话,可以加上时间
dateTimePicker1.Value.ToString("yyyy-MM-dd hh:mm:ss"); --------------------编程问答-------------------- 我还要统计年、月的。是不是ToString("yyyy-MM")就可以了。
然后
dt要不要也转化成这样的格式:yyyy-MM --------------------编程问答--------------------
引用 3 楼 pimlee 的回复:
我还要统计年、月的。是不是ToString("yyyy-MM")就可以了。
然后
dt要不要也转化成这样的格式:yyyy-MM

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

            dateTimePicker1.Value.Year;
            dateTimePicker1.Value.Month; --------------------编程问答-------------------- 用datediff()日期时间比较函数 --------------------编程问答--------------------
引用 4 楼 bdmh 的回复:
引用 3 楼 pimlee 的回复:
我还要统计年、月的。是不是ToString("yyyy-MM")就可以了。
然后
dt要不要也转化成这样的格式:yyyy-MM

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

            dateTimePicker1.Value.Year;……


碰到去年2011年和纪念2012年比较的话。及2011年12月和2012年4月。怎么写 --------------------编程问答-------------------- 解决了
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,