次のクエリを使用して、1 週間の特定の日の平均電力量を調べようとしています。
SELECT avg(volume)
FROM v_nem_rm16
WHERE to_char(day, 'day') = 'monday';
ここで、v_nem_rm16 はテーブルとボリューム、day はその列で、day の値「monday」、「tuesday」などを変更してもクエリは null を返します。
このクエリは間違っていますか?
実際には、'DAY' は右側にパディング スペースを付けて返されます。「RTRIM」を使用すると、null 値を回避できます。
SELECT avg(volume)
FROM v_nem_rm16
WHERE RTRIM(to_char(day, 'day')) = 'monday';
私はむしろ別の日付形式を使用したいと思います。Dは数値を返すので、あなたの場合、クエリは次のようになります
SELECT avg(volume)
FROM v_nem_rm16
WHERE RTRIM(to_char(day, 'd')) = 1;