Ниже для BigQuery Standard SQL
#standardSQL
SELECT
user.p,
user.e,
CONCAT(user.p,user.pr,user.r) AS Territories,
PARSE_DATE('%m/%d/%Y', start_date) AS Startdate,
PARSE_DATE('%m/%d/%Y', end_date) AS EndDate,
'Q' || CAST(EXTRACT(Quarter FROM PARSE_DATE('%m/%d/%Y', start_date)) AS STRING) AS Quarter,
'Territory and Quota Program' Terrirtory_program
FROM `ods.simp.user`
Таким образом, вывод (если применить к образцу данных из вашего вопроса) будет как ниже (пропуская пользовательские c столбцы здесь)
Row Startdate EndDate Quarter Terrirtory_program
1 2020-01-01 2020-03-31 Q1 Territory and Quota Program
2 2020-04-01 2020-06-30 Q2 Territory and Quota Program
3 2020-07-01 2020-10-31 Q3 Territory and Quota Program
Чтобы проверить, поиграйте с приведенным выше примером - используйте приведенный ниже пример с примерами данных из вашего вопроса
#standardSQL
WITH `ods.simp.user` AS (
SELECT '1/1/2020' start_date, '3/31/2020' end_date UNION ALL
SELECT '4/1/2020', '6/30/2020' UNION ALL
SELECT '7/1/2020', '10/31/2020'
)
SELECT
PARSE_DATE('%m/%d/%Y', start_date) AS Startdate,
PARSE_DATE('%m/%d/%Y', end_date) AS EndDate,
'Q' || CAST(EXTRACT(Quarter FROM PARSE_DATE('%m/%d/%Y', start_date)) AS STRING) AS Quarter,
'Territory and Quota Program' Terrirtory_program
FROM `ods.simp.user`