0

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;

提供していただけますか?

4

4 に答える 4

3

SYSDATEOracle の現在の日付と時刻を返します。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_TIMESTAMPSYSDATE

于 2013-07-31T12:35:46.113 に答える
0

基本的な日機能があります。ここにいくつかあります:

getDate()
Now()

お使いの DBMS を知らなければ、具体的にどの DBMS が機能するかはわかりません

于 2013-07-31T12:32:40.723 に答える
0

これまでに行ったことはすべて非常に面倒です!!!!上記のクエリからわかることは、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(); を定義します。クエリを実行する前に。それがあなたを助けることを願っています。

于 2013-07-31T12:39:35.280 に答える