Além das sugestões já dadas, há outra possibilidade que posso deduzir da sua pergunta:
- Você ainda quer que o resultado seja uma data
- Mas você quer 'descartar' os dias, horas, etc.
- Partindo de um ano / mês somente campo de data
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
Isso obtém o número de meses inteiros a partir de uma data base (0) e os adiciona a essa data base. Arredondando para baixo até o mês em que a data está.
NOTA: No SQL Server 2008, você ainda terá o TIME anexado como 00: 00: 00.000. Isso não é exatamente o mesmo que "remover" qualquer notação de dia e hora. Também o DIA foi definido como o primeiro. por exemplo, 2009-10-01 00: 00: 00.000
fonte
Você pode querer conferir este site: http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/
fonte
fonte
a saída será semelhante a: 'dezembro de 2013'
fonte
Existem duas funções SQL para fazer isso:
Consulte a documentação vinculada para obter detalhes.
fonte
Isso pode ser útil também.
ou
ou
fonte
vamos escrever assim:
YEAR(anySqlDate)
eMONTH(anySqlDate)
. Experimente comYEAR(GETDATE())
por exemplo.fonte
fonte
Estou interpretando sua pergunta de duas maneiras.
a) Você só precisa de um mês e um ano separadamente; nesse caso, aqui está a resposta
b)
Você deseja exibir a partir de uma determinada data, digamos
'2009-11-24 09:01:55.483'
no formato MONTH.YEAR . Portanto, a saída deve ocorrer como11.2009
neste caso.Se for esse o caso, tente isso (entre outras alternativas)
fonte
Alguns bancos de dados, como podem
MS ACCESS
ouRODBC
não suportar asSQL SERVER
funções, mas para qualquer banco de dados que tenha aFORMAT
função, você pode simplesmente fazer isso:fonte
fonte
fornece, por exemplo, 201601 se você deseja um resultado de seis dígitos
fonte
Tente isto
por exemplo.
fonte
Tente o seguinte:
Português
Resultado: maio 2019
Inglês
Resultado: maio de 2019
Se você quiser em outro idioma, altere ' pt-pt ' ou ' en-US ' para qualquer um deles no link
fonte
Eu tinha um requisito específico para fazer algo semelhante, onde mostraria mês-ano, o que pode ser feito pelo seguinte:
SELECT DATENAME(month, GETDATE()) + '-' + CAST(YEAR(GETDATE()) AS nvarchar) AS 'Month-Year'
No meu caso particular, eu precisava reduzi-lo à abreviação de três letras do mês com um ano de 2 dígitos, parecido com o seguinte:
SELECT LEFT(DATENAME(month, GETDATE()), 3) + '-' + CAST(RIGHT(YEAR(GETDATE()),2) AS nvarchar(2)) AS 'Month-Year'
fonte
Experimentar
SELECT CONCAT(month(datefield), '.', year(datefield)) FROM YOURTABLE;
fonte
Meu banco de dados não suporta a maioria das funções acima, porém achei que isso funciona:
SELECT * FROM table WHERE SUBSTR(datetime_column, starting_position, number_of_strings)=required_year_and_month;
por exemplo:
SELECT SUBSTR(created, 1,7) FROM table;
retorna o ano e o mês no formato "aaaa-mm"
fonte
Obter mês e ano a partir da data
fonte
Saída: Mar-2019
fonte
Inquerir :-
Select datename(m,GETDATE())+'-'+cast(datepart(yyyy,GETDATE()) as varchar) as FieldName
Saída: - janeiro-2019
campo de data geral, podemos usar
fonte
Para resultado: "AAAA-MM"
fonte
me obteve o resultado desejado da data formatado em 07 de março de 2018
Minha coluna 'transfer_date' é uma coluna do tipo datetime e estou usando o SQL Server 2017 no azure
fonte
selecione CONCAT (MÊS (GETDATE ()), '.', ANO (GETDATE ()))
Resultado: 5.2020
selecione CONCAT (DATENAME (MONTH, GETDATE ()), '.', YEAR (GETDATE ()))
Saída: maio.2020
fonte