私はこのクエリで間違っているものを得ることができません(ORACLE QUERY)はオラクル
SELECT *
FROM HR.CUSTOMER C
dual
WHERE CREATED_AT = current_date
;
私はOracleでは、このエラー
ORA-00933: SQL command not properly ended
私はこのクエリで間違っているものを得ることができません(ORACLE QUERY)はオラクル
SELECT *
FROM HR.CUSTOMER C
dual
WHERE CREATED_AT = current_date
;
私はOracleでは、このエラー
ORA-00933: SQL command not properly ended
を取得していますそれはcurrent_date
ありませんが、sysdate
今のところはtrunc(sysdate)
です。
さらに、dual
が多すぎます。
select *
from hr.customer
where created_at = trunc(sysdate);
こんにちはThorsten、OracleにはCURRENT_DATE関数がありますが、クライアントのタイムゾーンに従って現在の日付と時刻が返されます。 SYSDATEは、サーバーのタイムゾーン内の現在の日付を戻します。しかし、フィールドが "CREATED_AT"と呼ばれているので、異なるタイムゾーン間で一貫性を持たせるために、SYSDATEでいっぱいになることをお勧めします。 最高のFelix – fhossfel
@ fhossfel:ありがとうフェリックス、私はそれを知らなかった。 'CURRENT_DATE'は存在しますが、ここでは使用していない可能性があります。ご説明ありがとうございます。 –
すでにテーブルを知っていて、そこからすべての列を取得したいので、あなたが使用する必要はありませんデュアル
DUAL表がして、本の特別な1行、1列のテーブルですOracleおよび他のデータベースインストールでは がデフォルトです。 Oracleでは、 表には、DUMMYという1つのVARCHAR2(1)列があり、値は 'X'です。 SYSDATEやUSERなどの疑似カラムの選択に使用するのに適しています。
は、あなただけの次のクエリの代わりに
SELECT *
FROM HR.CUSTOMER
WHERE CREATED_AT = current_date;
削除 'dual'を使用して、もう一度試してください。 – krokodilko