一个日期查询的小问题!(20分)

  • 主题发起人 主题发起人 雨林18
  • 开始时间 开始时间

雨林18

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个日期字段所存的方式是日期加时间如 2006-05-05 10:30:12 现在我想用这个字来查询
select * from a1 where date1 BETWEEN '2006-05-05' and '2006-06-05'
我试过了用了不行,请问还可以用什么方法查询,谢谢
 
日期和时间能否分开查询呢?
 
FORMATDATETIME,
或 < DATE1 >
 
convert(varchar(10),date1,120) BETWEEN '2006-05-05' and '2006-06-05'
 
to dey-999
还是不行呀,因为在数据库里所存的字段本来就是日期加时间型的,你现在转的还是这个类型那等于没变,能不能把时间去掉变成日期型,谢谢
 
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
FormatDatetime('yyyy-mm-dd hh:mm:ss',now);
 
在sql里如何实现把时间去掉如 2006-05-05 10:30:12 转为 2006-05-05 (注意,这个字段类型是datetime)
 
在SQL SERVER里convert(varchar(10),date1,120)就可以将日期时间变成日期
 
你用这个查询条件试试:
where date1>=:datex and date1<=:datey
这样你输入两个一样的日期就可以查到这一天的所有数据了
 
to samy_ywj
用convert(varchar(10),date1,120) 转换出来的类型是 yyyy-mm-dd hh:nn:ss 但在数据库里所存的字段本来就是2006-05-05 10:30:12这个类型,那不是相当于没转,我现在是想把时间去掉把2006-05-05 10:30:12转成2006-05-05这样就可以用BETWEEN来正常判断了
 
用FormatDatetime只把年月日单独取出来就可以比较了!
 
to 迷途的羔羊
这个方法我也试过了,不行,查出来的数据不准确,因为他是根据字符传来判定的
 
难道就没有方法在sql里把2006-05-05 10:30:12转成2006-05-05的方法吗?
 
http://www.vuu.cn/article/vuu.asp?item=23406
你看看这吧..似乎是解决这个问题的办法!
 
已经解决
 
select *
from a1
where date1 between '2006-05-05 00:00:00' and '2006-06-05 00:00:00’
试试应该可以
 
http://www.vuu.cn/article/vuu.asp?item=23406
你看看这吧..似乎是解决这个问题的办法!
 
后退
顶部