搞不定关于日期查询,大家帮我。在线。。。

GetScore123 2003-09-29 12:02:44
Access数据库中有文本型字段fld_Time
内容为:
2002-9-25 16:13:02
2002-9-26 16:13:02
2002-9-27 16:13:02
...

我想要查询出,指定某天的记录(就是不算时间了),怎么写?
listsql = "Select * tbl_RiZhi Where fld_Time = '" & CDate(Text_date.Text) & "'"
这样不对啊?


还有,我样要查出指定月份的sql语句怎么写?
listsql = "Select * tbl_RiZhi Where Year(Cdate(fld_Time)) = " & Year(CDate(Text_date.Text))
这样也不对啊?

请帮忙改正1
...全文
51 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiqinfeiwhw 2003-09-30
  • 打赏
  • 举报
回复
指定某天的记录(就是不算时间了),怎么写?
listsql = "Select * from tbl_RiZhi Where fld_Time = '" & CDate(Text_date.Text) & "'"
这个不时吗?
那用这个:
listsql="select * from tbl_RiZhi where year(cdate(fld_time))=" & year(cdate(text_date.text)) & " and month(cdate(fld_time))=" & month(cdate(text_date.text)) & " and day(cdate(fld_time))=" & day(cdate(text_date.text))


feiqinfeiwhw 2003-09-30
  • 打赏
  • 举报
回复
查出指定月份的sql语句怎么写?
listsql = "Select * tbl_RiZhi Where Year(Cdate(fld_Time)) = " & Year(CDate(Text_date.Text)) & " and month(Cdate(fld_Time))=" & month(cdate(text_date.text))
这样试试看
luzufu 2003-09-30
  • 打赏
  • 举报
回复
你试过我的方法没有!convert转换没问题的!
Sammi52 2003-09-30
  • 打赏
  • 举报
回复
怎么还没解决呀?
wangchong 2003-09-30
  • 打赏
  • 举报
回复
我建议你把这个字段分成DATE和TIME两个。如果你不想分后面就不要用CDATE, 是吧!
这样试试:
指定某天的记录:
listsql = "Select * tbl_RiZhi Where fld_Time Like '" & cstr(Format(CDate(Text_date.Text),"yyyy-MM-dd")) & "%'"

但分开好多了!!
GetScore123 2003-09-30
  • 打赏
  • 举报
回复
搞了一天,还是不行,相信不是各位代码的毛病。

我的情况是这样的:

如果数据库纪录形式是:
2002-9-25
用各位的方法都可以查询到

但如果是
2002-9-25 16:13:02
形式
就查询不到了

再请教?
AustinLei 2003-09-29
  • 打赏
  • 举报
回复
要查某一天的数据:
select * from tbl_RiZhi where int(fld_Time)=int(#2003-8-19#)
Sammi52 2003-09-29
  • 打赏
  • 举报
回复
日期用#号括住 如#" & 变量名 & "#, 又如 #2003-01-01#
luzufu 2003-09-29
  • 打赏
  • 举报
回复
SELECT * FROM 表 WHERE convert(char(10),字段,120)='" & Format(TEXT1.TEXT, "YYYY-MM-DD") & "'"就可以了,绝对没问题的!
Sammi52 2003-09-29
  • 打赏
  • 举报
回复
listsql = "Select * from tbl_RiZhi Where fld_Time = #" & Format$(CDate(Text_date.Text),"yyyy-mm-dd") & "#"
sunnyfire 2003-09-29
  • 打赏
  • 举报
回复
SELECT yourfields FROM yourtable
WHERE ((Format(fld_Time,"yyyy/mm/dd")='2003-01-01'));
szyhy810518 2003-09-29
  • 打赏
  • 举报
回复
指定某天的记录:
listsql = "Select * tbl_RiZhi Where fld_Time Like '" & Format(CDate(Text_date.Text),"yyyy-MM-dd") & "%'"

指定年月:
listsql = "Select * tbl_RiZhi Where fld_Time Like '" & Year(CDate(Text_date.Text)) & "-" & Month(CDate(Text_date.Text)) & "-%'"

指定月月份:
listsql = "Select * tbl_RiZhi Where fld_Time Like '%-" & Month(CDate(Text_date.Text)) & "-%'"
冰山来客123499 2003-09-29
  • 打赏
  • 举报
回复
首先,你的数据库中字段类型不好。为何不用date型?
其次,如果要这样的话,一定要将数据库中的字段转换为日期,不要包含时间,只有这样才能进行比较啊
lxqlogo0 2003-09-29
  • 打赏
  • 举报
回复
listsql = "Select * tbl_RiZhi Where fld_Time > '" & CDate(Text_date.Text) & "'" and fld_Time < '" & CDate(Text_date.Text+1) & "'"

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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