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 语句括在其自己的括号中。因此:

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 回答