Skip to content

Commit

Permalink
Tidied up mysql_functions.sql trunc function
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeengland committed Sep 19, 2017
1 parent 1b4f9bd commit 26cd9fc
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions scripts/mysql_functions.sql
Expand Up @@ -35,21 +35,21 @@ CREATE FUNCTION dashmore.TRUNC(DT DATETIME,

CASE FMT
WHEN 'hour'
THEN SET NEW_DT = TIMESTAMP(DATE_FORMAT(DT, '%Y-%m-%d %H:00:00'));
THEN SET NEW_DT = DATE_FORMAT(DT, '%Y-%m-%d %H:00:00');
WHEN 'day'
THEN SET NEW_DT = TIMESTAMP(DATE_FORMAT(DT, '%Y-%m-%d 00:00:00'));
THEN SET NEW_DT = DATE_FORMAT(DT, '%Y-%m-%d 00:00:00');
WHEN 'week'
THEN SET NEW_DT = TIMESTAMP(DATE_FORMAT(DATE_SUB(DT, INTERVAL WEEKDAY(DT) DAY), '%Y-%m-%d 00:00:00'));
THEN SET NEW_DT = DATE_FORMAT(DATE_SUB(DT, INTERVAL WEEKDAY(DT) DAY), '%Y-%m-%d 00:00:00');
WHEN 'month'
THEN SET NEW_DT = TIMESTAMP(DATE_FORMAT(DT, '%Y-%m-01'));
THEN SET NEW_DT = DATE_FORMAT(DT, '%Y-%m-01');
WHEN 'quarter'
THEN SET NEW_DT = TIMESTAMP(MAKEDATE(YEAR(TIMESTAMP(DT)), 1) + INTERVAL QUARTER(TIMESTAMP(DT)) QUARTER - INTERVAL 1 QUARTER);
THEN SET NEW_DT = MAKEDATE(YEAR(TIMESTAMP(DT)), 1) + INTERVAL QUARTER(TIMESTAMP(DT)) QUARTER - INTERVAL 1 QUARTER;
WHEN 'year'
THEN SET NEW_DT = TIMESTAMP(DATE_FORMAT(DT, '%Y-01-01'));
ELSE SET NEW_DT = TIMESTAMP(DT);
THEN SET NEW_DT = DATE_FORMAT(DT, '%Y-01-01');
ELSE SET NEW_DT = DT;
END CASE;

RETURN NEW_DT;
RETURN TIMESTAMP(NEW_DT);
END$$

DELIMITER ;

0 comments on commit 26cd9fc

Please sign in to comment.