Tenho meses armazenados no SQL Server como 1,2,3,4, ... 12. Eu gostaria de exibi-los como janeiro, fevereiro etc. Existe uma função no SQL Server como MonthName (1) = janeiro? Estou tentando evitar uma instrução CASE, se possível.
sql
sql-server
tsql
sql-server-2005
Saif Khan
fonte
fonte
Eu acho que essa é a melhor maneira de obter o nome do mês quando você tiver o número do mês
Ou
fonte
fonte
fonte
Use a melhor maneira
fonte
É muito simples.
saída: janeiro
fonte
Você pode usar a
CONVERT
função embutidaIsso exibirá os três primeiros caracteres do mês (JAN, FEB, etc.)
fonte
além do original
SELECT DATENAME(m, str(2) + '/1/2011')
você consegue fazer isso
SELECT DATENAME(m, str([column_name]) + '/1/2011')
Dessa forma, você obtém nomes para todas as linhas em uma tabela. onde [nome_da_coluna] representa uma coluna inteira contendo o valor numérico de 1 a 12
2 representa qualquer número inteiro; por sequência de contatos, criei uma data na qual posso extrair o mês. '/ 1/2011' pode ser qualquer data
se você quiser fazer isso com a variável
fonte
O seguinte funciona para mim:
fonte
Use esta instrução para converter o valor numérico do mês em nome do mês.
fonte
Em alguns locais como o hebraico, há meses bissextos dependentes do ano. Para evitar erros nesses locais, considere a seguinte solução:
fonte
Claro que isso vai funcionar
fonte
A partir do SQL Server 2012, você pode usar FORMAT e DATEFROMPARTS para resolver esse problema. (Se você quiser nomes de meses de outras culturas, altere
en-US
:)Se você deseja um mês de três letras:
Se você realmente deseja, pode criar uma função para isso:
fonte
Você pode usar a função de conversão como abaixo
fonte
Basta subtrair o mês atual da data de hoje e adicionar novamente o número do mês. Em seguida, use a função nomedodata para fornecer o nome completo em uma linha.
fonte
Eu acho que isso é suficiente para obter o nome do mês quando você tem data.
fonte
fonte
Para converter o número do mês em nome do mês, tente o seguinte
fonte
fonte
Este funcionou para mim:
De um post acima de @leoinfo e @Valentino Vranken. Apenas fiz uma seleção rápida e funciona.
fonte
Explicação:
MonthNumber
DatePart
qual o número do mês de retornofonte
OU
fonte
Trabalhando para mim
fonte
você pode obter a data assim. por exemplo: - Tabela de usuários
você pode obter o mês como este
resultado
fonte
Use esta declaração para obter o nome do mês:
Isso fornecerá o nome abreviado do mês. Assim: jan, fev, mar, etc.
fonte
Aqui está minha solução usando algumas informações de outras pessoas para resolver um problema.
fonte
Não há função definida pelo sistema no SQL server. Mas você pode criar sua própria função definida pelo usuário - uma função escalar. Você encontrará funções escalares no Pesquisador de Objetos para o seu banco de dados: Programabilidade-> Funções-> Funções com valor escalar. Abaixo, eu uso uma variável de tabela para reunir tudo.
fonte
Você pode criar uma função como esta para gerar o mês e selecionar dbo.fn_GetMonthFromDate (date_column) como Month FROM nome_da_tabela
fonte
A maneira mais fácil é chamar a função
MONTHNAME(your_date)
. sua_data pode ser um valor estático ou o valor de um dos campos da sua tabela.fonte
SELECT MONTHNAME (concat ('1970 -', [Month int val], '- 01'))
exemplo- SELECT MONTHNAME (concat ('1970 -', 4, '- 01'))
resposta- abril
fonte