我想查询我的表返回被预定为2017年六月(06-17) 这是迄今为止我的查询“会议”:SQL查询日期只使用年份和月份
SELECT SESSIONID,SESSIONDATE,SESSIONPRICE
FROM CONFERENCESESSION
WHERE SESSIONDATE = TO_DATE('06-17', 'MM-YY')
ORDER BY SESSIONDATE DESC;
但是这不会返回任何结果。它的工作,如果我查询特定日期,例如
WHERE SESSIONDATE = TO_DATE('6-06-17', 'DD-MM-YY')
我的表中的数据是这样的:
INSERT INTO CONFERENCESESSION VALUES ('SS01','B1','R1','S1',TO_DATE('3-05-17','DD-MM-YY'),12.50);
INSERT INTO CONFERENCESESSION VALUES ('SS02','B2','R1','S2',TO_DATE('4-06-17','DD-MM-YY'),19.45);
INSERT INTO CONFERENCESESSION VALUES ('SS03','B1','R2','S2',TO_DATE('13-05-17','DD-MM-YY'),12.69);
INSERT INTO CONFERENCESESSION VALUES ('SS04','B4','R2','S4',TO_DATE('13-06-17','DD-MM-YY'),14.56);
INSERT INTO CONFERENCESESSION VALUES ('SS05','B3','R2','S5',TO_DATE('23-05-17','DD-MM-YY'),14.56);
INSERT INTO CONFERENCESESSION VALUES ('SS06','B3','R1','S5',TO_DATE('3-06-17','DD-MM-YY'),16.32);
INSERT INTO CONFERENCESESSION VALUES ('SS07','B4','R2','S3',TO_DATE('13-05-17','DD-MM-YY'),21.78);
INSERT INTO CONFERENCESESSION VALUES ('SS08','B1','R2','S2',TO_DATE('6-06-17','DD-MM-YY'),16.82);
INSERT INTO CONFERENCESESSION VALUES ('SS09','B2','R3','S4',TO_DATE('13-05-17','DD-MM-YY'),17.90);
INSERT INTO CONFERENCESESSION VALUES ('SS10','B4','R1','S3',TO_DATE('6-06-17','DD-MM-YY'),16.37);
任何帮助是极大的赞赏。非常感谢 !
运行'选择TO_DATE('06 -17','MM-YY')from dual;'你就会明白为什么你的查询不能像你认为的那样工作。 DATE必须有一个日期组件,并且我们不提供一个Oracle会默认它。 – APC
您需要正确标记RDBMS。因为,解决方案在每个RDBMS上都不相同 – Ravi
您应该更好地了解'Oracle'和'SQL Server'之间的区别。他们完全不一样。 – Ravi