Guest User

Untitled

a guest
Jun 25th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. DROP FUNCTION if exists get_speed;
  2. CREATE FUNCTION get_speed(from_date DATETIME, to_date DATETIME, views_limit INT, views_served INT, now_date_time TIMESTAMP)
  3. RETURNS double
  4. DETERMINISTIC
  5. NO SQL
  6. BEGIN
  7. DECLARE banner_total_serving_time INTEGER;
  8. DECLARE banner_served_time INTEGER;
  9. DECLARE percent_time_served DOUBLE;
  10. DECLARE percent_ad_events_served DOUBLE;
  11. IF (views_limit IS NULL OR views_limit=0) THEN RETURN -1;END IF;
  12.  
  13. IF (views_served IS NULL) THEN SET views_served = 0;END IF;
  14. IF (banner_total_serving_time = 0) THEN SET banner_total_serving_time = 1;END IF;
  15. IF (views_limit = 0) THEN SET views_limit = 1;END IF;
  16.  
  17. SET banner_total_serving_time = TIMESTAMPDIFF(SECOND, from_date, to_date);
  18. SET banner_served_time = TIMESTAMPDIFF(SECOND, from_date, now_date_time);
  19. SET percent_time_served = (100 * banner_served_time) / banner_total_serving_time;
  20. SET percent_ad_events_served = (100 * views_served) / views_limit;
  21. RETURN percent_ad_events_served - percent_time_served;
  22. END
  23. ;;
Add Comment
Please, Sign In to add comment