- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-24-2023 09:14 AM
Hi Iav,
With sign I still get Correlated column bug, any thoughts?
CREATE FUNCTION IF NOT EXISTS rw_weekday_diff(start_date DATE, end_date DATE)
RETURNS INT
COMMENT 'Calculated days between two dates excluding weekend'
RETURN DATEDIFF(DAY, start_date, end_date)
- (DATEDIFF(WEEK, start_date, end_date) * 2)
- (CASE WHEN dayofweek(start_date) = 1 THEN 1 ELSE 0 END)
+ (CASE WHEN dayofweek(start_date) = 7 THEN 1 ELSE 0 END)
- (SELECT COUNT(*) FROM bank_holidays AS h WHERE
sign(DATEDIFF(h.date, date_add(to_date(start_date), -1))) = 1 AND
sign(DATEDIFF(h.date, date_add(to_date(end_date), 1))) = -1);
-- original where clause - (SELECT COUNT(*) FROM bank_holidays.uk_bank_holidays AS h WHERE h.date >= start_date AND h.date = end_date);