datediff 的用法?

cyywhl 2005-01-06 08:47:25
我是用access数据库
我用datediff提示说没有定义?怎么办。

还有一个问题:
Q_jrjy.Close;
Q_jrjy.SQL.Clear;
Q_jrjy.SQL.Add('select * from jsb where datediff('+#39+'d'+#39+',借书日期,sysdate())>ts');
Q_jrjy.Open;
Q_jrjy.first;
提示说参数不足,期待是1。
...全文
189 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gamaster 2005-01-06
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3701/3701655.xml?temp=7.473171E-03
gamaster 2005-01-06
  • 打赏
  • 举报
回复
我用bde试过了 也没有任何问题 给出表结构 我给你写全了!!
gamaster 2005-01-06
  • 打赏
  • 举报
回复
怎么又到这里发贴子 了
我用ado连接access

select datediff('d',#2005-01-01#,date())
没有任何问题
crystalreport20xx 2005-01-06
  • 打赏
  • 举报
回复
哦!那就是sysdate()函数在这条语句里不能执行!
你是不是要取当前的系统日期啊,可以换一种方法来实现的!
dt1:=FormatDatetime('yyyy-mm-dd',now);
代替那个Sysdate()。
cyywhl 2005-01-06
  • 打赏
  • 举报
回复
是个fkLookup字段
crystalreport20xx 2005-01-06
  • 打赏
  • 举报
回复
ts是不是一个变量啊如果是一个变量的话,那就应该是这样写
Q_jrjy.SQL.Add('select * from jsb where datediff('+#39+'d'+#39+',借书日期,sysdate())>:ts');
Q_jrjy.Parameters.ParamByName('ts').Value:=你指定的数值;
onkey1999 2005-01-06
  • 打赏
  • 举报
回复
datediff
你的格式错了吧
cyywhl 2005-01-06
  • 打赏
  • 举报
回复
高手请进?
tengjian1981 2005-01-06
  • 打赏
  • 举报
回复
select DateDiff(dd,'2005-01-06','2005-01-31')

第一个参数是两个日期差的基数,可以是天day,dd;也可以是月mm,month;


我不知道access有没有DateAdd函数
'select * from jsb where DateAdd(dd,ts,借书日期)<sysdate()'
ssq237712 2005-01-06
  • 打赏
  • 举报
回复
access很多都不支持的,不奇怪
gamaster 2005-01-06
  • 打赏
  • 举报
回复
ts是fkloolup字段???
ts字段在实际物理表结构中存在吗
若不存在 请用参数形式赋值 (这个该会吧)
cyywhl 2005-01-06
  • 打赏
  • 举报
回复
我可能找到原因了:
如果把ts(是个fkLookup字段主要是找出所借书的限借天数)改成1就可以了
是不是查找字段不能直接用啊。应该怎么用
gamaster 2005-01-06
  • 打赏
  • 举报
回复
Q_jrjy.SQL.Add('select * from jsb where datediff('+#39+'d'+#39+',借书日期,date())>ts');
这样子不应该有错误,
你应该学会调试
1:Q_jrjy.SQL.Add('select * from jsb where datediff('+#39+'d'+#39+',#2005-01-01#,date())>10'); 会不会报错
2。若第一步正确 证明datediff语法写的正确,再试:
Q_jrjy.SQL.Add('select * from jsb where datediff('+#39+'d'+#39+',#2005-01-01#,date())>ts');
会不会报错?若报 则ts有问题,ts是字段名称 还是参数 若是参数 则:ts
若不报错
3。Q_jrjy.SQL.Add('select * from jsb where datediff('+#39+'d'+#39+',借书日期,date())>ts'); 会不会报错,若报 说明不支持汉字字段名称。。。
cyywhl 2005-01-06
  • 打赏
  • 举报
回复
是access
cyywhl 2005-01-06
  • 打赏
  • 举报
回复
我用的是eccess
cyywhl 2005-01-06
  • 打赏
  • 举报
回复
gamaster(a明-非sql相关不回)
我的表结构:
id(自动编号)
借书日期(时间类型)
name(借书人姓名)
ts(是个fkLookup字段主要是找出所借书的限借天数)
要实现:现在日期-借书日期>ts的记录

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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