Mam więc tabelę z podziałem na miesiąc i rok, na przykład pole o nazwie Miesiąc zawiera numer 7 (w tym miesiącu), a pole Rok ma rok 2011. Tam też są dodatkowe miesiące roku itp. Jak mogę zapytać o to, aby pokazać tylko bieżący rok, miesiąc?SQL Bieżący miesiąc/rok pytanie
Odpowiedz
W SQL Server można użyć YEAR
, MONTH
i DAY
zamiast DATEPART
.
(przynajmniej w SQL Server 2005/2008, nie jestem pewien o SQL Server 2000 i starsze)
I wolą używać tych „krótkich form”, bo dla mnie YEAR(getdate())
jest krótszy wpisywać i lepiej przeczytać niż DATEPART(yyyy, getdate())
.
Więc można również kwerendy tabelę tak:
select *
from your_table
where month_column = MONTH(getdate())
and year_column = YEAR(getdate())
ten powinien pracować dla SQL Server:
SELECT * FROM myTable
WHERE month = DATEPART(m, GETDATE()) AND
year = DATEPART(yyyy, GETDATE())
Jak o:
Select *
from some_table st
where st.month = to_char(sysdate,'MM') and
st.year = to_char(sysdate,'YYYY');
powinno działać w Oracle. Jakiej bazy danych używasz? Pytam, ponieważ nie wszystkie bazy danych mają te same funkcje daty.
To powinno działać w MySQL
SELECT * FROM 'my_table' WHERE 'month' = MONTH(CURRENT_TIMESTAMP) AND 'year' = YEAR(CURRENT_TIMESTAMP);
Powinieneś wspomnieć, która baza danych jest dla –
Twoja wersja jest taka sama jak moja? Dlaczego muszę wspomnieć o db? : s –
Czy to działa na Oracle, DB2, MySQL, PostgreSQL, SQLite, Paradox, MS-SQL Server? Dowolny z nich? Wszystkie te? Żaden z tych? Niektóre z tych? – FrustratedWithFormsDesigner
select * z your_table gdzie MIESIĄC (mont_year) = miesiąc (NOW()) i rok (mont_year) = rok (obecnie());
Uwaga: (month_year) oznacza kolumnę, która zawiera format daty. Myślę, że rozwiąże to twój problem. Daj mi znać, jeśli to zapytanie nie działa.
Nie dodałeś nic do zaakceptowanych odpowiedzi sprzed 3 lat, a twoja odpowiedź nie dotyczy schematu w OP. – sasfrog
- 1. SQL Max Pytanie
- 2. Pytanie jednostki SQL Server:
- 3. Pytanie do pytania SQL
- 4. SQL inline jeśli typ oświadczenie pytanie
- 5. Proste pytanie składnia daty SQL Oracle
- 6. CREATE TABLE pytanie w T-SQL
- 7. SQL unikalne pytanie o wielkość litery Varchar
- 8. Pytanie konstruktora szyny Pytanie
- 9. Pytanie C/C++ Pytanie
- 10. Bieżący miesiąc i rok na serwerze sql 2008 r2
- 11. Pytanie o SQL Server HierarchyID głęboka pierwsza wydajność
- 12. Oracle sql zwraca wartość true, jeśli istnieje pytanie
- 13. Pytanie architektoniczne
- 14. Interpolate Pytanie
- 15. jsfiddle pytanie
- 16. Pobierz bieżący URL (UIWebView)
- 17. Pobierz bieżący element
- 18. Znajdź bieżący język użytkownika
- 19. Vim: wykonać bieżący plik?
- 20. Haskell: Wykryj bieżący OS
- 21. Pobierz bieżący kolor
- 22. Bieżący użytkownik w Magento?
- 23. Zastąp bieżący proces
- 24. pytanie dotyczące mnożenia karatsuba:
- 25. Oracle Analityczne Pytanie
- 26. C# funkcja ogólna pytanie
- 27. Pytanie NSString - metoda rangeOfString
- 28. Pytanie o wyjściu var_dump
- 29. Proste parsowanie pytanie
- 30. JQuery Selector Sub pytanie
Jakiego rodzaju jest to baza danych? –
@Abe Miessler: Oznaczam jako SQL Server, ponieważ wszystkie poprzednie pytania OP używają składni SQL Server lub akceptują odpowiedzi, które robią. I PO deklaruje cel na rok 2005+ w komentarzach: http://stackoverflow.com/questions/5478386/subtracting-datetime-in-sql-query –