我有一个表STMT_TABLE,它有列ID,NAME,COL1,COL2 ...... COL99。 现在,我希望选择列COL1到COL99中的所有数据。 是否有替换(SELECT COL1,COL2 ... COL99 FROM tablename)?
答案 0 :(得分:2)
您可以使用某种shell脚本来解决此问题。
以下是powershell:
write-host -nonewline "select "
for ($i = 1; $i -le 98; $i++) {
write-host -nonewline "COL$i, ";
}
write-host -nonewline "COL99";
write-host " from stmt_table where [...]"
我也使用excel这些东西,只需创建一个内容为“COL”的列,并使用小方块将其向下复制。然后在下一列中将第1行中的1,第二行中的2,然后是3,并使用小的squarety来计算。在此之后你放一个逗号并使用square-thingy。然后将整个内容复制到文本编辑器,并使用search-replace删除不需要的空格。
答案 1 :(得分:1)
如果您不想指定所有100列,您可以:
select column_name || ','
from user_tab_columns
where table_name = 'TABLE_NAME_IN_UPPER_CASE'
order by column_id
然后复制输出并将其传递到您的查询中(不要忘记删除最后一个逗号):
select <PASTE_HERE_PREVIOUS_OUTPUT>
from <YOUR_TABLE_NAME>
但是你无法在自动模式下使用它,大多数工作都是你自己动手做的。