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

Jak osiągnąć wynik między dwoma datami?
JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 122
0

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

szarotka
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 555
2
Kopiuj
 
SELECT *
FROM nazwa_tabeli
 WHERE datazatrudnienia BETWEEN TO_DATE ('2011/01/01', 'yyyy/mm/dd')
 AND TO_DATE ('2011/06/30', 'yyyy/mm/dd');
Cornellia
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
1
Kopiuj

SELECT * FROM Product_sales 
WHERE From_date >= '2011-01-01'
AND To_date <= '2011-06-11'
Vardamir
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
2
Kopiuj
SELECT *
FROM tabela
WHERE datazatrudnienia BETWEEN '20110101' AND '20110630';
JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 122
0

909e8d5b63.png

Kopiuj
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.

szarotka
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 555
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"

BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 33
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.