如何将时间戳传递给 Oracle 函数?
How to pass Timestamp to Oracle Function?
我有一个 table 并在其中存储日期值,我需要获取该值并将其作为参数传递给函数。但是每当我尝试执行我的代码时,它都会抛出
之类的错误
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
是我的 table,h_modified_date
是专栏。 Tatcalculate()
是函数。
当我 运行 内部查询时,它从 table 返回日期值,但是当我执行上面的完整查询时,它会抛出错误。
任何人请帮助我解决这个。
给出列名
SELECT refno, Tatcalculate(to_timestamp(SELECT h_modified_date FROM
TPADETAILS WHERE refno='WOC0021946','DD/MM/YYYY HH24:MI:SS')) as TAT
FROM Table1;
我会把 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;
试试这个......
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;
我有一个 table 并在其中存储日期值,我需要获取该值并将其作为参数传递给函数。但是每当我尝试执行我的代码时,它都会抛出
之类的错误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
是我的 table,h_modified_date
是专栏。 Tatcalculate()
是函数。
当我 运行 内部查询时,它从 table 返回日期值,但是当我执行上面的完整查询时,它会抛出错误。
任何人请帮助我解决这个。
给出列名
SELECT refno, Tatcalculate(to_timestamp(SELECT h_modified_date FROM TPADETAILS WHERE refno='WOC0021946','DD/MM/YYYY HH24:MI:SS')) as TAT FROM Table1;
我会把 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;
试试这个......
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;