0

次のクエリを使用して、1 週間の特定の日の平均電力量を調べようとしています。

SELECT avg(volume)
FROM v_nem_rm16
WHERE to_char(day, 'day') = 'monday';

ここで、v_nem_rm16 はテーブルとボリューム、day はその列で、day の値「monday」、「tuesday」などを変更してもクエリは null を返します。

このクエリは間違っていますか?

4

2 に答える 2

3

実際には、'DAY' は右側にパディング スペースを付けて返されます。「RTRIM」を使用すると、null 値を回避できます。

SELECT avg(volume)
FROM v_nem_rm16
WHERE RTRIM(to_char(day, 'day')) = 'monday';
于 2013-06-24T06:11:32.630 に答える
2

私はむしろ別の日付形式を使用したいと思います。Dは数値を返すので、あなたの場合、クエリは次のようになります

SELECT avg(volume)
FROM v_nem_rm16
WHERE RTRIM(to_char(day, 'd')) = 1;
于 2013-06-24T09:10:12.323 に答える