Подтвердить что ты не робот

SQL Текущий месяц/год вопрос

Итак, у меня есть таблица, которая разбита на месяц и год, например, поле "Месяц" имеет номер 7 в этом месяце (в этом месяце), а поле "Год" - 2011 год. Также есть дополнительные месяцы и т.д. Как я могу запросите это, чтобы показать только текущий год, месяц?

4b9b3361

Ответ 1

В SQL Server вы можете использовать YEAR, MONTH и DAY вместо DATEPART.
(по крайней мере, в SQL Server 2005/2008, я не уверен в SQL Server 2000 и старше)

Я предпочитаю использовать эти "короткие формы", потому что для меня YEAR(getdate()) короче в типе и лучше читать, чем DATEPART(yyyy, getdate()).

Итак, вы также можете запросить таблицу следующим образом:

select *
from your_table
where month_column = MONTH(getdate())
and year_column = YEAR(getdate())

Ответ 2

Это должно работать для SQL Server:

SELECT * FROM myTable
WHERE month = DATEPART(m, GETDATE()) AND
year = DATEPART(yyyy, GETDATE())

Ответ 3

Это должно работать в MySql

SELECT * FROM 'my_table' WHERE 'month' = MONTH(CURRENT_TIMESTAMP) AND 'year' = YEAR(CURRENT_TIMESTAMP);

Ответ 4

Как насчет:

Select *
from some_table st
where st.month = to_char(sysdate,'MM') and
    st.year = to_char(sysdate,'YYYY');

должен работать в Oracle. Какую базу данных вы используете? Я прошу, потому что не все базы данных имеют одинаковые функции даты.

Ответ 5

выберите * с вашей_таблицы где MONTH (mont_year) = MONTH (NOW()) и YEAR (mont_year) = YEAR (NOW());

Примечание. (month_year) означает вашу колонку, которая содержит формат даты. Я думаю, что это решит вашу проблему. Сообщите мне, если этот запрос не работает.