根据日期段查询的sql方法和程序方法

 

网上查了很多资料,终于总结了根据日期段查询的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());

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值