curdate
が今日...
curdate
のタイプであるすべてのエントリが必要timestamp
です。もちろん、Google でこれを検索しましたが、間違ったキーワードを使用したと思います。
select * from ftt.element fee, ftt.plan p
where p.id=ftt.p_id and curdate ???
order by p_id, curdate desc;
提供していただけますか?
SYSDATE
Oracle の現在の日付と時刻を返します。DATE
列には、Oracle の時間部分も含まれます。TIMESTAMP
列も同様です。
「今日」を確認するには、両方の値の時間部分を削除する必要があります。
select *
from ftt.element fee
join ftt.plan p on p.id=ftt.p_id
where trunc(curdate) = trunc(sysdate)
order by p_id, curdate desc;
また、句JOIN
内の暗黙的な結合の代わりに明示的な s を使用することに慣れる必要があります。WHERE
異なるタイムゾーンに注意する必要がある場合 (たとえば が であるためcurdate
) 、代わりに (タイムゾーンを含む)timestamp with time zone
を使用することをお勧めします。CURRENT_TIMESTAMP
SYSDATE
基本的な日機能があります。ここにいくつかあります:
getDate()
Now()
お使いの DBMS を知らなければ、具体的にどの DBMS が機能するかはわかりません
これまでに行ったことはすべて非常に面倒です!!!!上記のクエリからわかることは、2つのテーブルを結合しようとしているということです。まず、2 つのテーブルを結合します。
Select * from table1 join table2 on table1.id = table2.id;
このクエリに任意の条件を含めるには、上記のクエリの後にこれを連結します。
Select * from table1 join table2 on table1.id = table2.id where curdate = date;
ここで date = CURDATE(); を定義します。クエリを実行する前に。それがあなたを助けることを願っています。