Sql 将两个日期与条件进行比较

Sql 将两个日期与条件进行比较,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图比较两个付款条件的日期: 日期1:发票日期 日期2:付款日期 付款条件(天) 我想计算一下是否在付款条件内付款。到目前为止我尝试了什么,但没有达到预期的效果 SELECT ( CASE WHEN ISNUMERIC(a.paymentcondition) >= DATEDIFF(day,a.payment_date,a.invoice_date) THEN 'yes' ELSE 'no' END) AS 'within_payment_condi

我试图比较两个付款条件的日期:

  • 日期1:发票日期
  • 日期2:付款日期
  • 付款条件(天)
  • 我想计算一下是否在付款条件内付款。到目前为止我尝试了什么,但没有达到预期的效果

    SELECT
    (
    CASE 
        WHEN  ISNUMERIC(a.paymentcondition) >=  DATEDIFF(day,a.payment_date,a.invoice_date) 
        THEN 'yes' 
        ELSE 'no' 
    END) 
    AS 'within_payment_condition'
    FROM finance
    

    假设您有一个名为
    test1
    的表,如下所示:

    create table test1 (id int, date1 date, date2 date);
    insert into test1 values (1, '2015-04-06', '2015-04-05'), (2, '2015-06-06', '2015-06-07');
    
    然后,您可以使用以下查询比较日期:

    select *, 
    
    case 
    when test1.date1 < test1.date2 then 'test1 is smaller' 
    else 'test1 is not smaller' 
    end as comment
    
    from test1
    
    选择*,
    案例
    当test1.date1
    结果如下:


    Remove
    ISNUMERIC
    ,因为它只返回
    0
    1
    。如果要转换,请使用
    CAST
    。无论如何,你应该像往常一样准备好样本数据和期望的结果<代码>“但没有预期结果”
    不清楚。