重新说字符串转换成为日期的请求。

dzwebs 2010-09-08 08:33:44
我的问题是,我的数据库是MSSQL2000的,我的开发环境是NET2.0(C#)

有个数据库表的字段是这样的

ID      整型的
MyDateTime  字符型的
Content   字符型的

字段MyDateTime里面存储的内容完全是日期时间型的,比如:

2008-1-1 15:30:21
2009-1-1 15:30:21
2010-1-1 15:30:21
……

现在,我想实现的效果是,如何针对上述的这个表进行查询,根据当天的日期或给定日期,查询出小于给定日期的记录呢

比如,今天是2007-1-1,那么,我要通过这个日期来查询,查询出上表中的小于这个日期的记录。

注意,MyDateTime是字符型的,这个难住了我,

请大家帮忙弄个NET2.0(C#)的SELECT语句,完整的语句,谢谢了
...全文
154 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwfgu00ing 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wuyq11 的回复:]
select * from 表名 where datediff(d,MyDateTime,getdate())=0
[/Quote]

+++
wuyq11 2010-09-08
  • 打赏
  • 举报
回复
select * from 表名 where datediff(d,MyDateTime,getdate())=0
chokochu 2010-09-08
  • 打赏
  • 举报
回复

-- 在oracle中有如下方法
select * from talbe where to_date(MyDateTime,'yyyy/MM/dd') < '2010/02/18'
-- sql server不知道有没有类似的方法,请上网查一下吧,主要用到了to_date(),不知道SQL server里有没有
aab2009aab 2010-09-08
  • 打赏
  • 举报
回复

declare @dt as datetime
set @dt = getdate() --输入指定日期
select *
from TableName
where datediff(d,MyDateTime,@dt)>0

其实我同意7楼的意见,这种情况还是在数据库用datetime来保存的比较好
huamaolin 2010-09-08
  • 打赏
  • 举报
回复

每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
gonguui1982 2010-09-08
  • 打赏
  • 举报
回复
select * from 表名 where MyDateTime < '2007-1-1 00:00:00'
liuqiuyue1124 2010-09-08
  • 打赏
  • 举报
回复
要么用convert转换一下 也可以caset将字符型转换成 datetime型
  • 打赏
  • 举报
回复
convert(datetime,MyDateTime) < '2007-1-1'
纯唇Yu弄 2010-09-08
  • 打赏
  • 举报
回复
测试可用
纯唇Yu弄 2010-09-08
  • 打赏
  • 举报
回复

select * from 表名 where Cast(MyDateTime As DateTime )<getdate()

yao991118 2010-09-08
  • 打赏
  • 举报
回复
字符型?
select * from 表名 where Convert.ToDateTime(MyDateTime) < '2007-1-1'
Linq to sql可以这样装换,sql没有试过,你试试
暖枫无敌 2010-09-08
  • 打赏
  • 举报
回复
这个最好是将数据库该字段类型改成datetime类型,你先建个表录入一条数据试试,然后更改数据类型,看数据是否还保持着原来格式,是的话最好了。
哈喽Baby 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 suiyiminmin 的回复:]
SQL code

select * from 表名 where MyDateTime < '2007-1-1'
go


这样不行吗?
你把2007-1-1当做参数传进去不就行了?
[/Quote]
你这样试过,不行吗?
dzwebs 2010-09-08
  • 打赏
  • 举报
回复
MyDateTime字段尽管存储的是这样的数据

2008-1-1 15:30:21
2009-1-1 15:30:21
2010-1-1 15:30:21
……

但是它本身是字符型的,你说,我该怎么办,就是不懂了,才问的!
yao991118 2010-09-08
  • 打赏
  • 举报
回复
DateTime NowTime=DateTime.Now;//得到当前日期
select * from 表 where 日期字段<NowTime
不知道是不是你想要的
哈喽Baby 2010-09-08
  • 打赏
  • 举报
回复

select * from 表名 where MyDateTime < '2007-1-1'
go

这样不行吗?
你把2007-1-1当做参数传进去不就行了?
dzwebs 2010-09-08
  • 打赏
  • 举报
回复
我就是不会构造语句,您就帮帮我吧
諾临風 2010-09-08
  • 打赏
  • 举报
回复
Convert转换一下就行了,多看看帮助文档

62,271

社区成员

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

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

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

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