我有下表:
CREATE TABLE my_table
(
the_debt_id varchar(6) NOT NULL,
the_debt_paid timestamp NOT NULL,
the_debt_due date NOT NULL
)
INSERT INTO my_table
VALUES ('LMUS01', '2019-05-03 09:00:01', '2019-05-02'),
('LMUS01', '2019-06-03 10:45:12', '2019-06-02'),
('LMUS01', '2019-07-01 15:39:58', '2019-07-02'),
('LMUS02', '2019-05-03 19:43:44', '2019-05-07'),
('LMUS02', '2019-06-07 08:37:05', '2019-06-07')
我想要日期的不同,但有些付款日 the_debt_due
星期天秋天(如6月7日)。如果付款日是星期天,我想在付款日加1 the_debt_due
,因此良好付款人的差额为0或负(预付款)。
结果如下:
SELECT (date(the_debt_paid) - the_debt_due) AS date_diff
FROM my_table
但我不知道如何判断星期天是星期几到上一个查询。
预期产量
date_diff
1
0
-1
-4
0
注意,第二行是0,因为到期日是星期天。
任何帮助都将不胜感激。
1条答案
按热度按时间wkyowqbh1#
你可以用
(extract dow from ...)
获取给定日期的星期几,其中星期日是第0周的一天。这将满足您的要求:
db小提琴演示: