と製品の間の選択日SQL - 解決、最新の開始日
SELECT TO_DATE(PRODUCT_FINISH_DATE) - TO_DATE(PRODUCT_START_DATE)
FROM MANUFACTURED_PRODUCT
WHERE ROWNUM = 1
ORDER BY PRODUCT_START_DATE ASC;
-
テーブル:MANUFACTURED_PRODUCT
列:PRODUCT_ID, PRODUCT_START_DATE, PRODUCT_FINISH_DATE
SS:http://i.imgur.com/L7BePwc.png
試み1:
SELECT DATEDIFF(D, PRODUCT_START_DATE, PRODUCT_FINISH_DATE) as Difference
FROM MANUFACTURED_PRODUCT
ORDER BY PRODUCT_START_DATE ASC LIMIT 1;
エラー1:
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 3 Column: 32
試み2:
SELECT DATEDIFF(D, PRODUCT_START_DATE, PRODUCT_FINISH_DATE) as Difference
FROM MANUFACTURED_PRODUCT
ORDER BY PRODUCT_START_DATE ASC;
エラー2:
ORA-00904: "DATEDIFF": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 1 Column: 7
私が見の
すべての例では、次のようになります。
select DATEDIFF(d, @start, @end)
from table
order by @start asc limit 1;
少なくとも、「MANUFACTURED_PRODUCT」テーブルのサンプルデータ(および理想的には構造)を表示してください。 –
あなたはあなたの質問に 'mysql'という質問を付けましたが、あなたは私たちにOracleエラーを表示しています。 AFAIK oracleは 'LIMIT'と' DateDiff'をサポートしていません – danrah
質問が答えられたら、その答えを受け入れます。ソリューションを見つけたら、それを答えとして追加し、それを受け入れます。解決策が見つかったことを示すために質問のテキストを変更しないでください。また、なぜあなたは 'VARCHAR'として日付を格納していますか?あなたは本当にそれをすべきではありません。 –