それはできません。すべての列とそれぞれの NVL() 関数を入力する必要があります。大変な作業のように思えますが、列のいずれかが DATE またはその他の「特殊な」データ型である場合にどうなるかを考えてみてください。
多くの列があり、労力を本当に節約したい場合は、データ ディクショナリから句を生成できます。
select 'nvl('|| column_name || ', 0)' from user_tab_columns where table_name = 'STUDENT' order by column_id;
プレ>結果セットをエディターにカット アンド ペーストします。
このルートから始めると、より洗練されたものになるのは簡単です:
select case when column_id > 1 then ',' end || 'nvl('|| column_name || ',' || case when data_type = 'DATE' then 'sysdate' when data_type = 'VARCHAR2' then '''DEF''' else '0' end || ')' from user_tab_columns where table_name = 'STUDENT' order by column_id;
プレ>