ASP.MET C#如何实现根据时间查询数据库

hanshihong 2010-10-12 04:40:44
1 t091108143356449351
2 t091108143401543351
3 t091108143406683351
4 t091108143411824351
5 t091108143416980351
6 t091108143945590351
7 t091108143948636351
t091108143356449351
t09年11月08日14时33分56秒449豪秒351母线;t 没有意义
这是数据的意思,怎么能根据时间来查询这些数据那,比如查询这段时间里的数据:
起止时间:2010-12-10 00:00:00
截止时间:2010-12-10 00:10:00
我用的是c#语言,急需。。。。
...全文
249 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
游戏人间 2010-10-14
  • 打赏
  • 举报
回复
直接

field between condition1 and condition2
chen_ya_ping 2010-10-14
  • 打赏
  • 举报
回复
这样你就可以转换每一个 “t.............................”的为时间,然后做比较。
chen_ya_ping 2010-10-14
  • 打赏
  • 举报
回复

declare @str varchar(100)
set @str='t091108143356449351'

set @str=SUBSTRING(@str,2,LEN(@str)-1)
select @str

declare @year varchar(4)
declare @month varchar(2)
declare @day varchar(2)
declare @hour varchar(2)
declare @min varchar(2)
declare @second varchar(2)

declare @pos int
set @pos=1
set @year='20'+SUBSTRING(@str,@pos,2)
set @pos=@pos+2
set @month=SUBSTRING(@str,@pos,2)
set @pos=@pos+2
set @day=SUBSTRING(@str,@pos,2)
set @pos=@pos+2

set @hour=SUBSTRING(@str,@pos,2)
set @pos=@pos+2

set @min=SUBSTRING(@str,@pos,2)
set @pos=@pos+2

set @second=SUBSTRING(@str,@pos,2)

declare @time varchar(100)
set @time=@year+'-'+@month+'-'+@day+' '+@hour+':'+@min+':'+@second
select @time

result:2009-11-08 14:33:56
csharpyisi 2010-10-13
  • 打赏
  • 举报
回复
你还是使用缓存比较好 去看看缓存机制 多少秒重新获取数据库信息
jack4238 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 koukoujiayi 的回复:]
如果不考虑19的话:
select * from 表
where Convert(varchar(10),'20'+substring(字段,2,2)+'-'+substring(字段,4,2)+'-'+substring(字段,6,2),120) between '2009-01-01' and '2009-12-31'
[/Quote]

+++++
koukoujiayi 2010-10-13
  • 打赏
  • 举报
回复
加上时分秒,如下:
select * from 表
where Convert(varchar(19),'20'+substring(字段,2,2)+'-'+substring(字段,4,2)+'-'+substring(字段,6,2) +' '+substring(字段,8,2)+':'+substring(字段,10,2)+':'+substring(字段,12,2),120) between '2009-01-01 10:10:10' and '2009-12-31 12:50:10'
wuyq11 2010-10-12
  • 打赏
  • 举报
回复
Convert(varchar(10),'20'+substring(字段,2,2)+'-'+substring(字段,4,2)+'-'+...,120)
betwwen
或datediff

zekelove 2010-10-12
  • 打赏
  • 举报
回复
那就先把值还原成所需的时间格式 ~~
yan267 2010-10-12
  • 打赏
  • 举报
回复



select * FROM TABLE

WHERE substring('t091108143356449351',2, 10)
>SUBSTRING(replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
,3,11)


koukoujiayi 2010-10-12
  • 打赏
  • 举报
回复
如果不考虑19的话:
select * from 表
where Convert(varchar(10),'20'+substring(字段,2,2)+'-'+substring(字段,4,2)+'-'+substring(字段,6,2),120) between '2009-01-01' and '2009-12-31'
koukoujiayi 2010-10-12
  • 打赏
  • 举报
回复
1909和2009怎么区分??
damjmk2 2010-10-12
  • 打赏
  • 举报
回复
查询的话用sql语句吧 可以考虑把你要查询的起始时间和截止时间转化成
t091108143406683351 这样的类型 再比较
刀枪blue 2010-10-12
  • 打赏
  • 举报
回复
sql里cast一下日期

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧