试试这个样子的? select id, case when t1 not between start_time and end_time then '1' end case || case when t2 not between start_time and end_time then ',2' end case || case when t3 not between start_time and end_time then ',3' end case || case when t4 not between start_time and end_time then ',4' end case as time_not_between from tab;
select id,
case
when t1 not between start_time and end_time then '1'
end case
||
case
when t2 not between start_time and end_time then ',2'
end case
||
case
when t3 not between start_time and end_time then ',3'
end case
||
case
when t4 not between start_time and end_time then ',4'
end case
as time_not_between
from tab;