Even though I and Zohar do not understand why do exists a table with a column for each day...
For MySQL
Please, consider the solution in this fiddle: https://www.db-fiddle.com/f/7nxjo6hGRsX3Hn8GNqXBuC/0
create table dummy(
  id int,
  --
  relevant_data_01 varchar(255),
  relevant_data_02 varchar(255),
  --
  `20200101` int,
  `20200102` int,
  `20200103` int
);
insert into dummy values(1, 'a', 'b', 1, 2, 3);
select
  concat(
    '
      select *
      from (
    ',
      group_concat(
        concat('
          select
            id, relevant_data_01, relevant_data_02,
            ''', column_name, ''' as date_key,
            `', column_name, '`   as date_value
          from dummy')
        separator
          '
          union all
          '
      ),
    '
      ) d'
  )
into @sql
from INFORMATION_SCHEMA.columns
where
    table_name = 'dummy'
and column_name like '2020%';
PREPARE stmt FROM @sql;
EXECUTE stmt;
For SQL Server
Editing the solution, for SQL Server I provided this other fiddle: http://sqlfiddle.com/#!18/f7874c/14
create table dummy(
  id int,
  --
  relevant_data_01 varchar(255),
  relevant_data_02 varchar(255),
  --
  [20200101] int,
  [20200102] int,
  [20200103] int
)
insert into dummy values(1, 'a', 'b', 1, 2, 3)
declare @sql nvarchar(max) = ''
select
  @sql =
    @sql +
    case
      when @sql = '' then ''
                     else char(13) + char(10) + 'union all' + char(13) + char(10)
    end + '
      select
        id, relevant_data_01, relevant_data_02,
        ''' + col.name + ''' as date_key,
        [' + col.name + ']   as date_value
      from dummy
    '
from
  sys.columns col
where
    col.object_id = OBJECT_ID('dummy')
and col.name like '2020%'
  
execute sp_executesql @sql