解决方案 »

  1.   

    --因为你没给哪个年,现在的语句取本年
    --另外不知道你是要更新旧数据,还是只要查询的时候替换
    --查询的时候替换
    SELECT 客户,[3月金额]
    ,CASE WHEN [3月付款]<>''THEN[3月付款]
    WHEN [3月金额]<=0 OR [3月金额]IS NULL THEN '--------'
    WHEN DATEADD(DAY,账期,CONVERT(VARCHAR(5),GETDATE(),120)+'03-01')>=GETDATE()
    THEN '逾期未付'
    ELSE '逾期'
    END [3月付款],账期
    FROM TB
    --更新旧数据
    UPDATE TB
    SET [3月付款]=(CASE WHEN [3月付款]<>''THEN[3月付款]
    WHEN [3月金额]<=0 OR [3月金额]IS NULL THEN '--------'
    WHEN DATEADD(DAY,账期,CONVERT(VARCHAR(5),GETDATE(),120)+'03-01')>=GETDATE()
    THEN '逾期未付'
    ELSE '逾期'
    END)
    WHERE [3月付款]IS NULL OR [3月付款]=''