sql语句中起始时间问题

问题描述

winform项目,form上有两个日历控件,一个起始时间一个终止时间现在要进行,日、月、年的统计数据sql语句举例如下:select*from表where时间字段<=终止时间,时间字段>=控件起始时间请问月和年的范围,字段怎么转化,怎么进行比较谢谢

解决方案

解决方案二:
stringdt1=dateTimePicker1.Value.Year.ToString();stringdt2=dateTimePicker2.Value.AddDays(1).ToShortDateString();whereStr+="and[GTime]>=Convert(datetime,'"+dt1+"')AND[GTime]<=Convert(datetime,'"+dt2+"')";

这是我写的日统计的
解决方案三:
strings="select*fromxxxwheredtbetween"+dateTimePicker1.Value.ToShortDateString()+"and"+dateTimePicker2.Value.ToShortDateString();

如果还有时间的话,可以加上时间dateTimePicker1.Value.ToString("yyyy-MM-ddhh: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月。怎么写
解决方案八:
解决了

时间: 2024-10-31 01:45:16

sql语句中起始时间问题的相关文章

解析SQL语句中Replace INTO与INSERT INTO的不同之处

本篇文章是对SQL语句中Replace INTO与INSERT INTO的不同之处进行了详细的分析介绍,需要的朋友参考下   REPLACE的运行与INSERT很相似.只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除. 注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义.该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行. 所有列

解析sql语句中left

以下是对在sql语句中left_join.inner_join中的on与where的区别进行了详细的分析介绍,需要的朋友可以参考下   table a(id, type): id     type ---------------------------------- 1      1         2      1          3      2          table b(id, class): id    class -------------------------------

sql 语句中in的用法总结

问题描述 sql 语句中in的用法总结 sql 语句中 in的用法都有什么?在网上说有两种但是只见有一种用法,另一种用法是什么? 解决方案 sql语句Group By用法一则SQL语句中的NOT IN 的优化sql语句判断 case when用法(二) 解决方案二: http://blog.csdn.net/naruto517308294/article/details/8650507 解决方案三: 就一种吧http://www.w3schools.com/sql/sql_in.asp 解决方案

SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别

原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别  SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值. 如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL. 如果插入了多个行,生成了多个标识值,则 @@IDENTITY 将返回最后生成的标识值. 如果语句触发了一个或多个触发器,该触发器又执行了生成标识值的插入

ireport使用中文的问题(不是乱码,是不认sql语句中的中文)!

问题描述 我在建新的report模板时,使用向导的方式创建,默认的sql语句中如果包含中文,则不能正常显示结果,也没有报错.比如sql语句为"select name,age from user where name = '张三'",则在预览报表的时候,显示不出任何内容,但是在数据库中确实是存在内容的.有没有人遇到同样的问题呢....困扰很久了,帮帮忙! 解决方案 select name,age from user where name = '张三' hibernate3查询参数为中文时

网吧计费-SQL 语句中周六到周日的表达

问题描述 SQL 语句中周六到周日的表达 在做一个网吧收费系统,需要更新网吧收费数据:把周六到周日的收费改到平常的一半,每小时计算.如下图这样写提醒数据库类型转换失败,求教 解决方案 SELECT * FROM your_table WHERE ((DATEPART(dw, date_created) + @@DATEFIRST) % 7) IN (0, 1) 解决方案二: 楼主你确定update语句这么写? 不应该是 update record set fee = fee/2 where be

sql 语句中字符类型的转换问题,在线等!!!急!!!

问题描述 sql 语句中字符类型的转换问题,在线等!!!急!!! select 'http//'+ID+'.html' as LINK from A ID的字符类型是bigint的,出现错误提示:"从数据类型 varchar 转换为 bigint 时出错."求解决语法!!! 解决方案 select 'http//'+convert(varchar(20)ID)+'.html' as LINK from A 解决方案二: select 'http//'+cast t(ID as varc

c++-如何利用C++来解析SQL语句中的select语句?

问题描述 如何利用C++来解析SQL语句中的select语句? SELECT * FROM stu WHERE ((Name = "Jack") AND ((Age > 18) OR (Height > 170))) 这是一条SQL语句,怎么用C++解析它,并从内存数据中输出结果?求大神给点思路即可.... 解决方案 你是要解析?还是要执行? 如果要执行SQL语句,需要学习ADO编程,可以百度一下vc ado编程. 解决方案二: 有c++和数据库对接的各种库的,mysql的

求sql语句中带有条件的查询

问题描述 求sql语句中带有条件的查询 我现在有一张users表,有字段uid,uname,address,phone1,phone2,phone3: 我想在这张表中这样查: 主要查phone1,但是如果有一条数据的phone1位空的话,就查phone2,如果phone1,phone2都为空就查phone3,这样的SQL语句要怎么写呢,求大神帮忙解答???? 解决方案 select case when phone1 is null then ( case when phone2 is null