如何向我的查询添加制表符
How can i add a tabulator character to my query
我写了 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 个 select 语句是我们系统中 EAS(-企业应用软件) 的内部查询 - 我尝试使用这种格式 query1||CHR(09)||query2
但它没有将 tab
放入输出中。
行中的预期输出:
'TEXT1:' column1||tab character||'TEXT2:' column2||tab character||'TEXT3:' column3
也许我应该尝试使用 lpad(' ',8)
将空格放入其中?
我怎样才能达到预期的输出?
请试试这个:
((select ' TEXT1: '||column1 from table_name1 where conditions) ||CHR(09)||' TEXT2: '|| (select column2 from table_name2 where 条件)||'CHR(09)||'TEXT3: '||(select column3 来自 table_name3 where 条件))
假设所有 3 列的类型都是 text(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
);
我写了 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 个 select 语句是我们系统中 EAS(-企业应用软件) 的内部查询 - 我尝试使用这种格式 query1||CHR(09)||query2
但它没有将 tab
放入输出中。
行中的预期输出:
'TEXT1:' column1||tab character||'TEXT2:' column2||tab character||'TEXT3:' column3
也许我应该尝试使用 lpad(' ',8)
将空格放入其中?
我怎样才能达到预期的输出?
请试试这个:
((select ' TEXT1: '||column1 from table_name1 where conditions) ||CHR(09)||' TEXT2: '|| (select column2 from table_name2 where 条件)||'CHR(09)||'TEXT3: '||(select column3 来自 table_name3 where 条件))
假设所有 3 列的类型都是 text(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
);