■■■■在线等,问一个SQL语句是否正确 ,谢谢,马上就要睡了 ■■■■

gigilove 2003-12-30 12:45:47
我想通过SQL语句删除一部分DV论坛用户

条件:该ID注册后仅登陆过一次,其发帖量为0,并且其注册时间在2003年10月1日之前

就是下面这句:

DELETE FROM [user] WHERE (Article = 0) AND (logins = 1) AND (DATEDIFF(day, addDate, '2003 - 10 - 1') > 0)

属性 Article 为发帖
logins 为 登陆数
addDate 为注册时间

我在后台使用时却报错为

至少一个参数没有被指定值

???
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
12s 2004-01-02
  • 打赏
  • 举报
回复
我有个不同的想法,因为你调用的是SQL, 应该遵守SQL的规则,那么在SQL中有没有DateDiff()呢?答案是没有,所以可能有问题,猜测而已
gigilove 2003-12-30
  • 打赏
  • 举报
回复
怎么没有人回答呢
短歌如风 2003-12-30
  • 打赏
  • 举报
回复
其实你完全不需要使用DateDiff,这样写:
DELETE FROM [user] WHERE (Article = 0) AND (logins = 1) AND (addDate < #01-10-2003#)

其中的时期格式我用的是Access的格式(因为我觉得你说的错误提示很象Access的杰作)。如果是SQL Server则改为'2003-10-01'。其它DBMS看一下DBMS的帮助,也可以试试用ODBC转义序列:{d '2003-10-01'}。
短歌如风 2003-12-30
  • 打赏
  • 举报
回复
DateDiff 函数示例

以下示例使用了 DateDiff 函数分别计算某年的第一周和今天之间的周数,及从一九九五年二月一日至今天的天数。

Debug.Print DateDiff("ww", "1-1", Now())
Debug.Print DateDiff("y", #1-Feb-1995#, Now())
下个示例显示出如何在查询表达式中使用 DateDiff 函数。假设有一个包含“订购日期”字段及“发货日期”字段的“订单”表。可以在查询中创建一个计算字段显示在每个订单的订单日期及发货日期之间的逝去时间。在“查询”窗口中,通过添加“订单”表并将“订单ID”字段拖到查询设计网格中创建了一个新查询。在空的“字段”单元格中,输入下列表达式,创建一个计算字段。

DaysElapsed: DateDiff("y", [OrderDate], [ShippedDate])
i_jianyong 2003-12-30
  • 打赏
  • 举报
回复
是不是addDate可能为null?

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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