Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Where子句不适用于日期_Sql_Oracle10g - Fatal编程技术网

Sql Where子句不适用于日期

Sql Where子句不适用于日期,sql,oracle10g,Sql,Oracle10g,可能重复: 当我处理日期数据类型时,where子句并没有区别。下面的代码显示所有107行。它应该显示大约5行。也没有语法错误。Where子句适用于数字、字符等 select last_name,hire_date from employees where hire_date < '01-JAN-90' 选择姓氏、雇用日期 来自员工 何处租用日期

可能重复:

当我处理日期数据类型时,where子句并没有区别。下面的代码显示所有107行。它应该显示大约5行。也没有语法错误。Where子句适用于数字、字符等

    select last_name,hire_date
    from employees
    where hire_date < '01-JAN-90'
选择姓氏、雇用日期
来自员工
何处租用日期<'01-JAN-90'
试试:

选择姓氏、雇用日期
来自员工
其中租用日期<日期'1990-01-01'
下面是一个运行示例:

CREATE TABLE Employees(
姓氏VARCHAR(50),
租用日期
);
在员工价值观中插入(“A”,日期“1985-01-01”);
在员工价值观中插入(“B”,日期“1986-01-01”);
在员工价值观中插入(“C”,日期“1987-01-01”);
在员工价值观中插入('D',日期'1988-01-01');
在员工价值观中插入('E',日期'1989-01-01');
在员工价值观中插入(“F”,日期“1990-01-01”);
插入员工价值观(“G”,日期“1991-01-01”);
在员工价值观中插入(“H”,日期“1992-01-01”);
在员工价值观中插入('I',日期'1993-01-01');
在员工价值观中插入('J',日期'1994-01-01');
在员工价值观中插入(“K”,日期“1995-01-01”);
在员工价值观中插入(“L”,日期“1996-01-01”);
在员工价值观中插入(“M”,日期“1997-01-01”);
在员工价值观中插入('N',日期'1998-01-01');
选择姓氏、雇用日期
来自员工
其中租用日期<日期'1990-01-01'
试试:

选择姓氏、雇用日期
来自员工
其中租用日期<日期'1990-01-01'
下面是一个运行示例:

CREATE TABLE Employees(
姓氏VARCHAR(50),
租用日期
);
在员工价值观中插入(“A”,日期“1985-01-01”);
在员工价值观中插入(“B”,日期“1986-01-01”);
在员工价值观中插入(“C”,日期“1987-01-01”);
在员工价值观中插入('D',日期'1988-01-01');
在员工价值观中插入('E',日期'1989-01-01');
在员工价值观中插入(“F”,日期“1990-01-01”);
插入员工价值观(“G”,日期“1991-01-01”);
在员工价值观中插入(“H”,日期“1992-01-01”);
在员工价值观中插入('I',日期'1993-01-01');
在员工价值观中插入('J',日期'1994-01-01');
在员工价值观中插入(“K”,日期“1995-01-01”);
在员工价值观中插入(“L”,日期“1996-01-01”);
在员工价值观中插入(“M”,日期“1997-01-01”);
在员工价值观中插入('N',日期'1998-01-01');
选择姓氏、雇用日期
来自员工
其中租用日期<日期'1990-01-01'

永远不要依赖隐式转换。使用:

where hire_date < to_date('01-JAN-1990', 'DD-MON-YYYY')
其中雇佣日期<截止日期('1990年1月1日,'DD-MON-YYYY')

永远不要依赖隐式转换。使用:

where hire_date < to_date('01-JAN-1990', 'DD-MON-YYYY')
其中雇佣日期<截止日期('1990年1月1日,'DD-MON-YYYY')

很抱歉,此代码不起作用。@ankitaP很抱歉,我无法进一步帮助您,除非我知道您看到了什么问题或您期望有什么不同。我已经发布了我用来测试答案的代码。我的EMPLOYEES表已经存在,它包含107行。我上面写的SELECT..FROM..WHERE语句不能处理DATE,因为它不能隐式执行类型转换。嗯,我得到了达扎尔给我的答案。谢谢你帮助我。干杯抱歉,此代码不起作用。@ankitaP很抱歉,我无法进一步帮助您,除非我知道您看到了什么问题或您期望有什么不同。我已经发布了我用来测试答案的代码。我的EMPLOYEES表已经存在,它包含107行。我上面写的SELECT..FROM..WHERE语句不能处理DATE,因为它不能隐式执行类型转换。嗯,我得到了达扎尔给我的答案。谢谢你帮助我。干杯@ankitaP-此比较仅在给定文本为默认日期格式时有效。对于所有其他格式,我们必须使用to_date将文字转换为日期function@ankitaP-此比较仅在给定文字为默认日期格式时有效。对于所有其他格式,我们必须使用to_date函数将文本转换为日期
where hire_date < to_date('01-JAN-1990', 'DD-MON-YYYY')