【问题标题】:SQL Select Where Date <= To dateSQL Select Where Date <= To date
【发布时间】:2015-06-24 01:31:52
【问题描述】:

您好,我是 SQL 语法的新手。

我想使用以下语法在 SQL 中生成查询结果。

Select * from tblSales where duedate <= todate

但是当我运行它时出错了。

请告诉我正确的语法。

谢谢

【问题讨论】:

  • 您在哪个 DBMS(服务器/系统)上运行它?还请包括错误文本
  • duedatetodate 列是否在 tblSales 表中?
  • 您是否根据今天的日期检查截止日期?
  • 是的,我正在检查截止日期与今天的日期,如果今天的日期
  • sql server 是 DBMS 吗?

标签: sql date date-difference


【解决方案1】:

在您的问题中没有提到 RDBMS..

对于 SQL Server,您的查询应该是

Select * from tblSales where duedate <= GETDATE()

其中GETDATE() 返回当前系统日期,duedate 应该是date datatype.

如果您使用 oracle 获取当前系统日期,您可以使用 SYSDATE

【讨论】:

  • todate vs duedate = result if result
  • @Daryl 不明白您的要求是什么?
  • 对不起,我想要这个查询的结果 select datediff(day,getdate(),Duedate)as Diff, SInumber ,InvoiceNo,Customer ,Tradedate,PaymentTerms,Duedate,Amount from tblSales where DIFF
  • @Daryl 这个结果意味着你能用一个例子解释一下吗..我不明白你的第一条评论
【解决方案2】:
select * from(
select datediff(day,getdate(),Duedate )as Diff,
SInumber ,InvoiceNo,Customer ,Tradedate,PaymentTerms,Duedate,Amount   
from tblSales )as D where DIFF <= '10'

这是我想要的查询..它解决了!

【讨论】:

    【解决方案3】:

    你可以试试这个:

    SELECT * FROM tblSales WHERE DATE(duedate) <= CURDATE();
    

    我还没有测试它。希望有效

    【讨论】:

    • sql语句中没有curdate
    • todate vs duedate = result if result
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 2021-02-03
    相关资源
    最近更新 更多