Advertisement
Guest User

Untitled

a guest
Apr 19th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.70 KB | None | 0 0
  1. select
  2. convert(varchar, calldate, 103) as 'DATE',
  3.     case when convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) >= 15 and convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) < 30
  4. then convert(varchar(2), calldate, 108) + ':15'
  5. else
  6. case when convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) >= 30 and convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) < 45
  7. then convert(varchar(2), calldate, 108) + ':30'
  8. else
  9. case when convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) >= 45 and convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) <= 59
  10. then convert(varchar(2), calldate, 108) + ':45'
  11. else
  12.     convert(varchar(2), calldate, 108) + ':00'
  13. end end end as 'TIME',
  14. convert(int, sum(
  15.     case when direction = 'I'
  16.     and transfer = '0'
  17.     then 1
  18.     else 0 end)) as OFFERED,
  19. convert(int, sum(
  20.     case when direction = 'I'
  21.     and transfer = '0'
  22.     and unanswer = '0'
  23.     then 1
  24.     else 0 end)) as ANSWERED,
  25. convert(int, sum(
  26.     case when direction = 'I'
  27.     and transfer = '0'
  28.     and unanswer = '1'
  29.     then 1
  30.     else 0 end)) as ABANDONED,
  31. convert(int, sum(
  32.     case when direction = 'I'
  33.     then duration
  34.     else 0 end) / (sum(
  35.     case when direction = 'I'
  36.     then 1
  37.     else 0 end) + 0.0000001)) as AVGHANDLETIME,
  38. convert(int, sum(
  39.     case when direction = 'I'
  40.     and transfer = '0'
  41.     then ringtime
  42.     else 0 end) / (sum(
  43.     case when direction = 'I'
  44.     and transfer = '0'
  45.     then 1
  46.     else 0 end) + 0.00001)) as AVG_SPEED_OF_ANSWER,
  47. round(((sum(
  48.     case when unanswer = '0'
  49.     and ringtime <= 20 then 1
  50.     else 0 end) * 100) / ((sum(1) + 0.00001) * 100) * 100), 0) as gradeofservice
  51.  
  52. from tmsdata, tbl_extensions, tbl_departments
  53.  
  54. where convert(date, calldate) = convert(date, getdate())
  55. and tbl_extensions.dept_id = tbl_departments.dept_id and(tbl_departments.dept_id = '1'
  56.     or tmsdata.extno = '9999') and tmsdata.extno = tbl_extensions.extno
  57.  
  58. group by convert(varchar, calldate, 103),
  59. case when convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) >= 15 and convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) < 30
  60. then convert(varchar(2), calldate, 108) + ':15'
  61. else
  62. case when convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) >= 30 and convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) < 45
  63. then convert(varchar(2), calldate, 108) + ':30'
  64. else
  65. case when convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) >= 45 and convert(int, substring(convert(varchar(5), calldate, 108), 4, 2)) <= 59
  66. then convert(varchar(2), calldate, 108) + ':45'
  67. else
  68.     convert(varchar(2), calldate, 108) + ':00'
  69. end end end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement