让日期快烦死!!!select问题

xxd88 2009-04-14 08:04:41
a_Sql = "Select * From tLogs where left(dtTime1,10)='" & rq2 & "'"
dtTime1这个字段中的数据是2009-4-9 17:36:23
我想要得到2009-4-9去和rq2比较
但是不行啊!!!
我怎么才能在select语句中得到2009-4-9呢??
...全文
131 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xredhat 2009-04-15
  • 打赏
  • 举报
回复
access和sql的语法是有差别的。
查询时间用format不就行啦吗?
xxd88 2009-04-15
  • 打赏
  • 举报
回复
a_Sql = "Select * From tLogs where dtTime1 >= #" & Format(Now, "YYYY-M-D") & "# AND dtTime1 < #" & Format(DateAdd("d", 1, Now), "yyyy-M-d") & "#"
查到了 access数据库需要加#???
of123 2009-04-15
  • 打赏
  • 举报
回复
你用的是什么库?

a_Sql = "Select * From tLogs where dtTime1 >= #" & Format(Now, "YYYY-M-D") & "# AND dtTime1 < #" & Format(DateAdd("d", 1, Now), "yyyy-M-d") & "#"
xxd88 2009-04-15
  • 打赏
  • 举报
回复
Dim rq2 As Date
rq2 = Format(Now, "YYYY-MM-DD")
a_Sql = "Select * From tLogs where format(dtTime1,'yyyy-mm-dd')='" & rq2 & "'"
这样没有错误提示!但是还是查不到数据
MsgBox (rsa.RecordCount)是0


a_Sql = "Select * From tLogs where dtTime1 >= '" & Format(Now, "YYYY-M-D") & "' AND dtTime1 < '" & Format(DateAdd("d", 1, Now), "yyyy-M-d") & "'"
这样的显示实时错误 '-2147217913 (80040e07)'
标准表达式中数据类型不匹配


of123 2009-04-15
  • 打赏
  • 举报
回复
a_Sql = "Select * From tLogs where dtTime1>='" & Format(rq2, "yyyy-MM-dd") & "' AND dtTime1<'" & Format(DateAdd("d", 1, rq2), "yyyy-MM-dd") & "'"
vbman2003 2009-04-15
  • 打赏
  • 举报
回复
access用format
Dim rq2 As Date
rq2 = Format(Now, "YYYY-MM-DD")
a_Sql = "Select * From tLogs where format(dtTime1,'yyyy-mm-dd')='" & rq2 & "'"
冰火小猫 2009-04-15
  • 打赏
  • 举报
回复
学习
xxd88 2009-04-15
  • 打赏
  • 举报
回复
数据库是access库
Dim rq2 As Date
rq2 = Format(Now, "YYYY-MM-DD")
a_Sql = "Select * From tLogs where convert(char(10),cast(dtTime1 as datetime),120)='" & rq2 & "'"
这样不行啊!
提示错误:实时错误'-2147467259 (80004005)'
对象'Open'的方法'_Recordset'失败
cxbase 2009-04-15
  • 打赏
  • 举报
回复
a_Sql = "Select * From tLogs where datediff(d,dtTime1,'"& rq2 &"')=0" 试试
无·法 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 WallesCai 的回复:]
我觉得是你的left(dtTime1,10)有问题吧, 这是VB的函数,你传到SQL里面去,人家怎么会理你?
[/Quote]
不过在sqlserver2000里面基本vb的一些基本函数都有的 但是好像没有trim
熊孩子开学喽 2009-04-15
  • 打赏
  • 举报
回复
我觉得是你的left(dtTime1,10)有问题吧, 这是VB的函数,你传到SQL里面去,人家怎么会理你?
LWMWORK 2009-04-15
  • 打赏
  • 举报
回复
Format(rq2, "yyyy-m-d")
clear_zero 2009-04-15
  • 打赏
  • 举报
回复
试试看
a_Sql = "Select * From tLogs where convert(char(10),cast(dtTime1 as datetime),120)='" & formmat(rq2,"YYYY-MM-DD") & "'"
palleexu 2009-04-14
  • 打赏
  • 举报
回复
dtTime1这个字段中的数据是2009-4-9 17:36:23

要是你数据库用的是ACESS的话,可以把该字段类型改成短日期样式的啊
射天狼 2009-04-14
  • 打赏
  • 举报
回复
一般日期都是进行区间的查询!
如果非要进行精确查询,需要对日期进行格式化,但不同数据库,格式化函数不同,需要明确你的数据库类型!

天狼工作室
http://www.j2soft.cn/
wing013 2009-04-14
  • 打赏
  • 举报
回复
a_Sql = "Select * From tLogs where convert(char(10),cast(dtTime1 as datetime),120)='" & formmat(rq2,"YYYY-MM-DD") & "'"
huyongsc 2009-04-14
  • 打赏
  • 举报
回复
如果rq2是日期型变量,需要将dtTime1转换成日期型变量left(dtTime1,10)是字符串

7,762

社区成员

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

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