/*
login 	requested 	status
ivanov 	2020-06-02 (02:00) 	approved
ivanov 	2021-11-14 (02:00) 2021-11-16 (02:00) 	approved
ivanov 	2020-01-25 (02:00) 	in progress
petrov 	2023-05-02 (01:30) 2023-05-03 (01:00) 2023-05-10 (01:30) 2023-05-11 (01:30) 2023-05-19 (01:30) 2023-07-03 (01:00) 	approved
sidorov 	2023-10-27 (02:00) 2023-11-01 (01:00) 	in progress
sidorov 	2023-08-29 (04:00) 	approved
*/

select login, cast(value as varchar(18)) requested, status
  from (values 
         ('ivanov', '2020-06-02 (02:00)', 'approved'),
         ('ivanov', '2021-11-14 (02:00) 2021-11-16 (02:00)', 'approved'),
         ('ivanov', '2020-01-25 (02:00)', 'in progress'),
         ('petrov', '2023-05-02 (01:30) 2023-05-03 (01:00) 2023-05-10 (01:30) 2023-05-11 (01:30) 2023-05-19 (01:30) 2023-07-03 (01:00)', 'approved'),
         ('sidorov', '2023-10-27 (02:00) 2023-11-01 (01:00)', 'in progress'),
         ('sidorov', '2023-08-29 (04:00)', 'approved')
       ) as t(login, requested, status)
       cross apply string_split(replace(requested, ') ', '),'), ',');