行が返されず、カウントとsysdate情報のデフォルト値「0」をハードコーディングしたい場合、このOracleクエリを書き直すにはどうすればよいですか?
データがない場合、私のクエリはこれを私に与えるでしょう:
1* SELECT count(*) as MYCNT, timestamp FROM TESTDATA WHERE timestamp = to_char(sysdate-2, 'yyyymmdd') || '0000' group by timestamp
SQL> /
no rows selected
ここでは、NVLを試しましたが、期待どおりの出力が得られませんでした。
1* select nvl(count(*), 0) as MYCNT, to_char(sysdate-2, 'yyyymmdd') || '0000' from TESTDATA WHERE timestamp = to_char(sysdate-2, 'yyyymmdd') || '0000' group by timestamp
SQL> /
no rows selected
このようなものを見たい:
MYCNT TIMESTMP
----- --------
0 201107250000