Jak osiągnąć wynik między dwoma datami?

0

datazatrudnienia BETWEEN ('11/01/01') and ('11/06/30') ? nic sie nie dzieje

2
 
SELECT *
FROM nazwa_tabeli
 WHERE datazatrudnienia BETWEEN TO_DATE ('2011/01/01', 'yyyy/mm/dd')
 AND TO_DATE ('2011/06/30', 'yyyy/mm/dd');
1

SELECT * FROM Product_sales 
WHERE From_date >= '2011-01-01'
AND To_date <= '2011-06-11'
2
SELECT *
FROM tabela
WHERE datazatrudnienia BETWEEN '20110101' AND '20110630';
0

909e8d5b63.png

select p.imie, p.nazwisko, s.nazwa
from pracownicy p, stanowiska s
where p.idstanowiska=s.idstanowiska and p.miasto like 'L%' or p.miasto like 'l%'  and p.DATAZATRUDNIENIA from_DATE ('2011/01/01', 'yyyy/mm/dd')
 AND TO_DATE ('2011/06/30', 'yyyy/mm/dd')

chce wyswietlic imie, nazwisko oraz nazwe stanowiska jesli pracownik jest z miasta zaczynajacego sie na litere l lub L; oraz zostal zatrudniony w pierwszej polowie 2011 roku. przetestowalem odpowiedzi, ale:
ORA-00920: invalid relational operator
00920. 00000 - "invalid relational operator"
*Cause:
*Action:
Error at Line: 3 Column: 106

na poczatku robilem tak jak Vardamir.

1

Stosuj nawiasy!!!
Twój warunek przez brak nawiasów robi zupełnie co innego niż oczekujesz.

Poczytaj o JOIN, LEFT JOIN i zastosuj zamiast "WHERE p.idstanowiska=s.idstanowiska"

0

Jak wyżej, zwróć uwagę na dwie literki OR.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.