0

重複の可能性:
OracleSQLでの日付の比較

DATEデータ型を扱う場合、where句は違いを生みません。次のコードは、107行すべてを表示しています。約5行表示されているはずです。構文エラーもありません。where句は、数字、文字などで正常に機能しています。

    select last_name,hire_date
    from employees
    where hire_date < '01-JAN-90'
4

2 に答える 2

2

適切な日付リテラルを試してください:

select last_name,hire_date
from employees
where hire_date < DATE '1990-01-01'

実行例は次のとおりです:http ://sqlfiddle.com/#!4 / 782c0 / 1

CREATE TABLE Employees (
  last_name VARCHAR(50),
  hire_date DATE
);

INSERT INTO Employees VALUES ('A', DATE '1985-01-01');
INSERT INTO Employees VALUES ('B', DATE '1986-01-01');
INSERT INTO Employees VALUES ('C', DATE '1987-01-01');
INSERT INTO Employees VALUES ('D', DATE '1988-01-01');
INSERT INTO Employees VALUES ('E', DATE '1989-01-01');
INSERT INTO Employees VALUES ('F', DATE '1990-01-01');
INSERT INTO Employees VALUES ('G', DATE '1991-01-01');
INSERT INTO Employees VALUES ('H', DATE '1992-01-01');
INSERT INTO Employees VALUES ('I', DATE '1993-01-01');
INSERT INTO Employees VALUES ('J', DATE '1994-01-01');
INSERT INTO Employees VALUES ('K', DATE '1995-01-01');
INSERT INTO Employees VALUES ('L', DATE '1996-01-01');
INSERT INTO Employees VALUES ('M', DATE '1997-01-01');
INSERT INTO Employees VALUES ('N', DATE '1998-01-01');


select last_name,hire_date
from employees
where hire_date < DATE '1990-01-01'
于 2013-01-22T17:15:44.740 に答える
1

暗黙の変換に依存しないでください。使用する:

where hire_date < to_date('01-JAN-1990', 'DD-MON-YYYY')
于 2013-01-22T17:16:12.770 に答える