テーブル my_table は次のとおりです。
CREATE TABLE MY_TABLE(
ID NUMBER NOT NULL,
MY_DATE DATE NOT NULL);
次のクエリを入力します。
select sysdate from dual
結果は次のとおりです。
10-MAG-12 21:22:32
mag = may であることに注意してください。
ここで、次のクエリを入力すると:
select *
from my_table
where my_date <= sysdate
結果は次のとおりです。
9918 10-MAG-12 20:00:00
9915 10-MAG-12 21:00:00
9952 10-MAG-12 22:00:00
9951 10-MAG-12 23:00:00
my_table には、これら 4 つのレコードしかないことに注意してください。最初と 2 番目のレコードだけではなく、すべてのレコードが表示されるのはなぜですか? ありがとう。
私はOracle SQL Developerを使用しています。
編集: PL/SQL でレコードを挿入するときは、次のように入力することに注意してください。
nCount NUMBER;
myDate DATE;
stringDate VARCHAR2(255);
BEGIN
nCount := 0;
stringDate := substr(to_char(trunc(sysdate)),0,9);
myDate := to_date(stringDate || ' 20:00:00','dd-mm-yyyy hh24:mi:ss');
for t in (a cursor) loop
insert into MY_TABLE(ID,MY_DATE)
values (9918,myDate+(nCount/1440));
nCount := nCount + 60;
end loop;
END;