I'm trying to split a column into multiple columns by a delimiter and recombine the results from last column to first using SQL. I'm looking for a more succinct/efficient version of the enclosed attempt (as in drop the intermediate steps, "part_1" through "part_5", if possible) because I have 100m rows of data. Thanks!
create table my_table (
domain text
);
insert into my_table (domain)
values
('com.google'),
('com.com.google'),
('com.com.com.google'),
('com.com.com.com.google');
select
domain,
split_part(domain, '.', 1) as part_1,
split_part(domain, '.', 2) as part_2,
split_part(domain, '.', 3) as part_3,
split_part(domain, '.', 4) as part_4,
split_part(domain, '.', 5) as part_5,
trim(concat(part_5, '.', part_4, '.', part_3, '.', part_2, '.', part_1), '.') as domain_2
from
my_table;