SQL ORACLE选择日期

SQL ORACLE选择日期,sql,date,select,oracle11g,Sql,Date,Select,Oracle11g,我想选择所有的日期都是星期一 SELECT * FROM EMPLOYEES WHERE (SELECT to_char(HIRE_DATE, 'DAY') FROM EMPLOYEES) = 'MONDAY'; HIRE_DAY是日期类型,格式为:MM:DD:YYYY,例如“06/17/2003”、“09/21/2005”这是一个查询,用于列出表中属于“星期一”的所有信息 这会奏效的 SELECT * FROM EMPLOYEES WHERE TO_CHAR(TO_DATE

我想选择所有的日期都是星期一

SELECT * 
FROM EMPLOYEES 
WHERE 
    (SELECT to_char(HIRE_DATE, 'DAY') FROM EMPLOYEES) = 'MONDAY';

HIRE_DAY是日期类型,格式为:MM:DD:YYYY,例如“06/17/2003”、“09/21/2005”

这是一个查询,用于列出表中属于“星期一”的所有信息

这会奏效的

SELECT * 
FROM EMPLOYEES 
WHERE TO_CHAR(TO_DATE(HIRE_DATE,'dd/mm/yyyy'),'DAY')='MONDAY';

如果HIRE_DATE是真正的日期类型,您只需运行

SELECT * FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE,'DAY')='MONDAY'

只是想添加日期类型没有任何“格式”。日期列的显示方式仅取决于您的工具和会话设置。

它没有帮助,因此我有ORA-01843:如果我在您的comand中更改为“dd/mm/yyyy”则不是有效的月份,并且结果中的“dd/mm/dd/yyyyy”我找不到数据,但我100%确定我的数据中有周一的日期:)选择to_CHAR(to_date('03/09/1982','mm/dd/yyyyy'))“DAY”)来自dual.试试这个..如果这个有效,并且你有相同的日期格式..它肯定有效bro@hakobotAs
HIRE\u date
已经是一个
date
了,在它上面应用
to\u date()
date
值转换成
date
值毫无意义。有趣的是,你的命令没有起作用,但是(!)当我改为选择*FROM EMPLOYEES WHERE to_CHAR(雇用日期,'D')='2'时,我不知道为什么:(可能是我的数据库出了问题。谢谢帮助!@hakobot:
'D'
返回工作日的编号。
'DAY'
返回工作日的名称。有关详细信息,请参阅手册:选择*FROM EMPLOYEES WHERE to_CHAR(雇用日期,'DAY')如“星期一%”,这是我问题的正确答案。最后似乎是空标记:(