根据日期段查询的sql方法和程序方法
2011-07-19 11:48
447 查看
网上查了很多资料,终于总结了根据日期段查询的sql方法和程序方法
1. 在数据库中
select * from Income where
convert(varchar(10),AddTime,120)
between convert(datetime,'2011-7-18') and convert(datetime,'2011-7-19')
其中:convert(varchar(10),AddTime,120) 显示格式是:yyyy-MM-dd ,如:2011-7-18
用convert,你可以查看在线帮助,例如:
select convert(varchar(20),getdate(),120)
示:2011-7-18
下面是样式的参数:
-------------------------------------
不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
- 130* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM
------------开始时间:-----------
convert(datetime,'2011-7-18') 传入的是日期字符串
-----------结束时间:-----------
convert(datetime,'2011-7-19')
2 在程序中
在web开发中日期控件取值一般都是字符串格式的“yyyy-MM-dd” 直接传入就可以
在程序中查询方法如下:
strWhere += string.Format(" and convert(varchar(10),AddTime,120) between convert(datetime,'{0}') and convert(datetime,'{1}')", strStatDate,strEndDate);
如果传入的值是 日期格式则使用下面的方法
strWhere += string.Format(" and convert(varchar(10),AddTime,120) between convert(datetime,'{0}') and convert(datetime,'{1}')", searchModel.StartTime.ToShortDateString(), searchModel.EndTime.ToShortDateString());
1. 在数据库中
select * from Income where
convert(varchar(10),AddTime,120)
between convert(datetime,'2011-7-18') and convert(datetime,'2011-7-19')
其中:convert(varchar(10),AddTime,120) 显示格式是:yyyy-MM-dd ,如:2011-7-18
用convert,你可以查看在线帮助,例如:
select convert(varchar(20),getdate(),120)
示:2011-7-18
下面是样式的参数:
-------------------------------------
不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
- 130* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM
------------开始时间:-----------
convert(datetime,'2011-7-18') 传入的是日期字符串
-----------结束时间:-----------
convert(datetime,'2011-7-19')
2 在程序中
在web开发中日期控件取值一般都是字符串格式的“yyyy-MM-dd” 直接传入就可以
在程序中查询方法如下:
strWhere += string.Format(" and convert(varchar(10),AddTime,120) between convert(datetime,'{0}') and convert(datetime,'{1}')", strStatDate,strEndDate);
如果传入的值是 日期格式则使用下面的方法
strWhere += string.Format(" and convert(varchar(10),AddTime,120) between convert(datetime,'{0}') and convert(datetime,'{1}')", searchModel.StartTime.ToShortDateString(), searchModel.EndTime.ToShortDateString());
相关文章推荐
- GPS定位,根据经纬度查询附近地点的经纬度-sql方法实现
- 根据行记录数据查询它的RFNO &block no(pl/sql程序)
- SQL语句:orac 3ff0 le中如何插入Date类型的数据和根据Date数据进行查询的方法
- 根据SQL_ID在V$SQLAREA,V$SQL里查询不到数解决方法
- sql的select出现堵塞导致程序卡死的解决方法(在事务中查询)
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 【很好的方法记录下来】sql中怎么根据汉字的拼音首字母查询?
- 在数据库中sql查询很快,但在程序中查询较慢的解决方法
- oracle中SQL根据生日日期查询年龄的方法
- 根据会员编号、会员名称、会员积分、店铺编号查询数据的简单方法(sql语句)
- oracle中SQL根据生日日期查询年龄的方法
- 程序里的SQL、mybatis下的查询慢的优化方法(非SQL语句优化)
- 程序里的SQL、mybatis下的查询慢的优化方法(非SQL语句优化):
- 用SQL语句实现随机查询数据并不显示错误数据的方法
- 浅谈MySQL中优化sql语句查询常用的30种方法
- 易语言的sql操作时的多个查询条件拼接方法
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- sql处理百万级以上的数据提高查询速度的方法
- 今天刚弄的sql查询的小问题,根据时间查询最近的条记录
- 根据名称查询当前运行的程序的个数