0

私はテーブルを持っていて、そこに日付値を保存しています。その値を取得して、それをパラメーターとして関数に渡す必要があります。しかし、コードを実行しようとするたびに、次のようなエラーがスローされます

ORA-00936: missing expression.

以下は私のコードサンプルです:

SELECT refno, 
       Tatcalculate(to_timestamp(SELECT h_modified_date
                                   FROM TPADETAILS
                                  WHERE refno = 'WOC0021946','DD/MM/YYYY HH24:MI:SS'))
 FROM Table1;

Table1は私のテーブルで、h_modified_dateは列です。Tatcalculate()が関数です。

内部クエリを実行すると、テーブルから日付値が返されますが、上記の完全なクエリを実行すると、エラーがスローされます。
誰でもこれを解決するのを手伝ってください。

4

3 に答える 3

1

to_timestamp()selectステートメントの周りではなく、列名の周りに配置します。

また、選択ステートメントを独自の括弧で囲む必要があります。したがって:

SELECT refno, Tatcalculate((SELECT to_timestamp(h_modified_date,'DD/MM/YYYY HH24:MI:SS') FROM TPADETAILS WHERE refno='WOC0021946'))
FROM Table1;

ETA: tatcalculate パラメーターが DATE データ型であり、h_modified_date 列も DATE であるという追加情報があれば、データ型変換を行う必要はまったくありません。したがって、クエリは次のようになります。

SELECT refno, Tatcalculate((SELECT h_modified_date FROM TPADETAILS WHERE refno='WOC0021946'))
FROM Table1;
于 2015-07-22T12:36:44.557 に答える
0

列名を与える

SELECT refno, Tatcalculate(to_timestamp(SELECT h_modified_date FROM TPADETAILS WHERE refno='WOC0021946','DD/MM/YYYY HH24:MI:SS')) as TAT FROM Table1;

于 2015-07-22T12:31:50.063 に答える
0

これを試して.....

SELECT refno, Tatcalculate(to_timestamp((SELECT  to_char(h_modified_date,'DD/MM/YYYY HH24:MI:SS') FROM TPADETAILS WHERE refno='WOC0021946'),'DD/MM/YYYY HH24:MI:SS'))
FROM Table1;
于 2015-07-22T20:44:24.417 に答える