[Oracle] select句のアスタリスクと擬似列

2020年5月25日月曜日

Oracle SQL

取得日時も付加しておきたい

Oracleでv$sessionのような動的ビューのログを取るときなんかに、取得日時も付加しておきたい場合がある。

こんな感じ
select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS'), * from v$session;

でも、これはエラーになってしまう。
テーブルは1つしか参照していないのだから、いいじゃんって気もするが、だめなのだ。

では、どうするか

アスタリスクの前にテーブル名を明示する。
select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS'), v$session.* from v$session;

灯台下暗しといった感じだけど、これは標準SQLの書き方なんだろうか。
ちょっと調べてみたところ、SQLiteとMySQLではサポートされているようですが...