我想查詢我的表返回被預定爲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