数据表里面有DateTime字段, 日期和时间同时进行区间查询

None.gif 数据表里面有DateTime字段, 日期和时间同时进行时间区间查询
None.gif有表
None.gif字段名称         字段类型
None.gifGUID             VARCHAR(
50 )
None.gifstr_DateTime     DATETIME
None.gif
None.gif想实现查询2005年5月1日
- 2006年1月1日
None.gif时间在18:00到19:00的所有GUID
None.gif
None.gif
None.gifselect 
None.gif    
*  
None.giffrom 
None.gif    TableName
None.gifwhere 
None.gif    convert(
char ( 10 ),str_DateTime, 120 ) between  ' 2005-05-01 '  and  ' 2006-01-01 '
None.gif    and
None.gif    convert(
char ( 5 ),str_DateTime, 114 ) between  ' 18:00 '  and  ' 19:00 '
None.gif在工作中也遇到了一个这样的问题
None.gif20060214T18000000转化为2006
- 02 - 14   18 : 00 : 00
None.gifdeclare @var varchar(
50 )
None.gif
set  @var = ' 20060214T18000000 '
None.gifselect left(@var,
4 ) + ' - ' + substring(@var, 5 , 2 ) + ' - ' + substring(@var, 7 , 2 ) + '   '
None.gif
+ substring(@var, 10 , 2 ) + ' : ' + substring(@var, 12 , 2 ) + ' : ' + substring(@var, 14 , 2 )
None.gif把字段转化为DateTime 类型
None.gif CONVERT(datetime, LEFT(dbo.SENTR_ExLog.IOTime, 
4
None.gif      
+   ' - '   +  SUBSTRING(dbo.SENTR_ExLog.IOTime,  5 2
None.gif      
+   ' - '   +  SUBSTRING(dbo.SENTR_ExLog.IOTime,  7 2
None.gif      
+   '   '   +  SUBSTRING(dbo.SENTR_ExLog.IOTime,  10 2
None.gif      
+   ' : '   +  SUBSTRING(dbo.SENTR_ExLog.IOTime,  12 2
None.gif      
+   ' : '   +  SUBSTRING(dbo.SENTR_ExLog.IOTime,  14 2 )) AS IOTime屏蔽1900 - 1 - 1日的日期不显示
None.gifselect Guid,ProjectName,StartDate,Case EndDate when 
' 1900-1-1 0:00:00 '  then  ''    else  Convert( char ( 10 ),EndDate, 120 )  end AS EndDate,Memo,IsDelete 
None.giffrom pgProject
None.gif

转载于:https://www.cnblogs.com/aaliujing/archive/2006/12/19/596775.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值