2017-09-13 19 views
0

に私は、PERCENTILE_CONT()関数を使用しているクエリを発射しています、のようなもの:PERCENTILE_CONT()赤方偏移

select ..... 
     PERCENTILE_CONT(0.90) within group (order by END_DATE-START_DATE) 
from .... 
where ..... 
; 

は今、このクエリは完全に私は、Oracle DB内のsqldeveloperからそれを発射する際に正常に動作しますが、いくつかのためにその理由は、私は赤方偏移のデータベースを使用する必要があると私はそれに問い合わせの上発射するとき、それはのようなエラーがスローされます。示唆したように

ERROR: function percentile_cont(interval, numeric) does not exist 
    Hint: No function matches the given name and argument types. You may need to add explicit type casts.` 

、私はDECIMALとINTEGER型に型キャストを使用してみましたが、私は取得しています同じエラー。

ドキュメントを検索しましたが、そこからも解決策を見つけることができませんでした。 考えているのはなぜですか?

P.S:タグPERCENTILE_CONTは評判が低いため、配置できません。

答えて

2

これは機能しますか?

PERCENTILE_CONT(0.90) within group (order by datediff(day, START_DATE, END_DATE) 

私は問題が日付の違いであると推測しています。

+0

あなたが示唆したように、私はDATEDIFF関数を使用しますが、それは新しいエラーを思い付いた、そして私はDATEDIFFすなわちDATEDIFF(END_DATE、START_DATE)の別のバージョンを使用しますが、これは新しいエラーことERROR投げている:で、構文エラーをまたは近くに "。 ポジション:635.ランダムな行ごとにいくつかの間違いを入れて、このグループ(order by ...)関数を使用している場所でのみ、その行にエラーがあることを確認しました。完全に無知。 – tv1902

+0

最後に、私のために働いた:) – tv1902

0

これをチェックしてください!

percentile_cont(0.90) within group 
((order by datediff(day, START_DATE, END_DATE)::INT4 desc) over() 
関連する問題