sql - Oracle 11G-NVLおよびAVG

原文 sql oracle

AVG内にNVL式を埋め込みたいのですが。ローンの期間(月単位)を決定するために、date_returnedからstart_dateを減算しようとしています。 date_returnedがnullの場合、今日の日付(sysdate)を使用します。これが私の声明の抜粋です。

avg(nvl(date_returned,sysdate)-start_date/30) "Loan Length in Months" 


これにより、ORA-00932エラーが発生します。データ型に一貫性がなく、NUMBERがDATEであると予期されていました。

このステートメントを修正する方法について何か提案はありますか?
答え
クエリは次のようになります。

avg(nvl(date_returned,sysdate)-start_date)/30 "Loan Length in Months" 


また、date_returnedは日付フィールドである必要があります。これがNUMBERの場合、ORA-00932エラーが発生し、データ型に一貫性がなく、予期されるNUMBERはDATEになります
関連記事

java - Lucene Library 4.1.0でプラス記号をエスケープする方法

sql - Oracleで集計関数を使用してモードの数を計算する方法

sql - 列データが数値で始まる場合、Like操作はnvarchar列フィルターで行を返しません

sql - BCPユーティリティが戻らない/ハングする

sql - SQLクエリを使用してデータベースのスクリプトを作成する

sql - 言語統合SQLを使用したschemaRDDを使用したSQL関数

c# - ローカルデータベース挿入クエリは何もしません

sql - 別のテーブルのレコードの値に基づいてテーブルにレコードを挿入する

mysql - SQL行フィルターについて

sql - 「選択の挿入」または「マージ」を使用するときにトリガーがすべての行で起動されないのはなぜですか