Zapytania MSSQL Server

Zapytania MSSQL Server
S8
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,
Ma ktoś pomysł jak zdefiniować zapytanie sql, które zwróci wszystkie rekordy z lat od 2005 do 2009 oprócz marca 2008? W tabeli "ZAKUPY" dysponuję polem DATETIME o nazwie "DATA". Z góry bardzo dziękuję za pomoc i pozdrawiam :-)

Misiekd
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7923
0
Kopiuj
WHERE data BETWEEN CAST('2005-01-01T00:00:00.000' AS datetime) AND CAST('2008-02-29T23:59:59.999' AS datetime) OR data BETWEEN CAST('2008-04-01T00:00:00.000' AS datetime) AND CAST('2009-12-31T23:59:59.999' AS datetime)
ŁF
  • Rejestracja: dni
  • Ostatnio: dni
0

Misiek, po co te casty? data between '20050101' and '20080229T23:59:59.997' or data ....

.999 nie jest prawidłową wartością ms dla mssql, tj. nie uzyskasz tego, czego oczekujesz: http://technet.microsoft.com/en-us/library/ms187819.aspx

__Marcin__
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
select * from Tabela
where (Year(Data) between 2005 and 2009) and (Year(Data) <> 2008 or Month(Data) <> 3)

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.