Как я могу добавить символ табулятора в свой запрос - PullRequest
0 голосов
/ 04 октября 2018

Я написал 3 запроса:

   select column1 from table_name1 where -- conditions) 
   ||' TEXT2: '|| (select column2 from table_name2 where  -- conditions) 
   ||' TEXT3: '|| (select column3 from table_name3 where  -- conditions)

Кажется, это работает.Вот вывод:

column1 'TEXT2:' column2 'TEXT3:' column3

Я пытался использовать CHR(09), но я думаю, что не могу использовать его должным образом или он не работает с нашей системой - 3 оператора выбора являются частьювнутренний запрос в нашей системе в EAS (прикладное программное обеспечение -enterprise) - я пробовал его с этим форматом query1||CHR(09)||query2, но он не помещает tab в вывод.

Ожидаемый результат в строках:

'TEXT1:' column1||tab character||'TEXT2:' column2||tab character||'TEXT3:' column3

Может быть, я должен попытаться использовать lpad(' ',8), чтобы поместить в него пробел?

Как мне достичь ожидаемоговывод?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Предполагая, что тип всех 3 столбцов - текст (VARCHAR2/CHAR), вы можете сначала сделать UNION ALL, а затем применить LISTAGG с CHR(9) в качестве разделителя.

SELECT LISTAGG(text 
               || ': ' 
               || col, CHR(9)) 
         within GROUP( ORDER BY text ) 
FROM   (SELECT column1 AS col, 
               'TEXT1' AS text 
        FROM   table_name1 --where conditions 
        UNION ALL 
        SELECT column2 AS col, 
               'TEXT2' AS text 
        FROM   table_name2 --where conditions 
        UNION ALL 
        SELECT column3 AS col, 
               'TEXT3' AS text 
        FROM   table_name3 --where conditions    
       ); 
0 голосов
/ 04 октября 2018

Пожалуйста, попробуйте это:

((выберите 'TEXT1:' || column1 из table_name1, где условия) || CHR (09) || 'TEXT2:' || (выберите column2 из table_name2, где условия)|| 'CHR (09) ||' TEXT3: '|| (выберите column3 из table_name3, где условия))

...