Получение только Месяца и года с ДАТЫ SQL

Простой способ сделать это состоит в том, чтобы сделать, чтобы пользователь коснулся кнопки в ритме с ударом и считал количество касаний разделенным к этому времени.

115
задан Tanner 23 January 2018 в 10:22
поделиться

6 ответов

Помимо уже приведенных предложений, есть еще одна возможность, которую я могу сделать из вашего вопроса:
- Вы по-прежнему хотите, чтобы результатом была дата
- Но вы хотите "отбросить" дни, часы и т. Д.
- Оставляем только поле даты года / месяца

SELECT
   DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
   <your_table>

. Получает количество полных месяцев от базовой даты (0), а затем добавляет их к этой базовой дате. Таким образом, округляем вниз до месяца, в котором указана дата.

ПРИМЕЧАНИЕ. В SQL Server 2008 ВРЕМЯ по-прежнему будет иметь вид 00: 00: 00.000. Это не совсем то же самое, что «убрать» любые обозначения дня и времени в целом. Также ДЕНЬ установлен на первый. например, 2009-10-01 00:00: 00.000

159
ответ дан 24 November 2019 в 02:20
поделиться

давайте запишем это так: YEAR (anySqlDate) и MONTH (anySqlDate) . Попробуйте, например, с YEAR (GETDATE ()) .

11
ответ дан 24 November 2019 в 02:20
поделиться

I am interpreting your question in two ways.

a) You only need Month & Year seperately in which case here is the answer

select 
        [YEAR] = YEAR(getdate())
        ,[YEAR] = DATEPART(YY,getdate())
        , [MONTH] = month(getdate())
        ,[MONTH] = DATEPART(mm,getdate())
        ,[MONTH NAME] = DATENAME(mm, getdate()) 

b)

You want to display from a given date say '2009-11-24 09:01:55.483' in MONTH.YEAR format. So the output should come as 11.2009 in this case.

If that is supposed to be the case then try this(among other alternatives)

select [Month.Year] = STUFF(CONVERT(varchar(10), GETDATE(),104),1,3,'')
6
ответ дан 24 November 2019 в 02:20
поделиться

Для этого есть две функции SQL:

См. в связанной документации.

14
ответ дан 24 November 2019 в 02:20
поделиться
SELECT DATEPART(yy, DateVal)
SELECT DATEPART(MM, DateVal)
SELECT DATENAME(MM, DateVal)
32
ответ дан 24 November 2019 в 02:20
поделиться
select month(dateField), year(dateField)
124
ответ дан 24 November 2019 в 02:20
поделиться