¿Cómo obtener el nombre del mes en SQL Server?

Cómo obtener el nombre completo del mes en SQL Server, es decir, con todas las letras a partir de una fecha utilizando una consulta de SQL Server?

La base de datos de SQL Server ofrece métodos T-SQL para obtener el nombre del mes en diferentes formatos, incluyendo el nombre completo con todas las letras, las abreviaturas y en múltiples idiomas. La función DATENAME(), combinada con la palabra clave MONTH, por ejemplo, se utiliza comúnmente para obtener y formatear los nombres de los meses. De hecho, en T-SQL, hay algunas funciones que puedes utilizar para mostrar el nombre del mes en letras:

  1. DATENAME(): Esta función devuelve una cadena de caracteres que representa la parte de fecha especificada de la fecha especificada.
  2. FORMAT(): Aunque principalmente se utiliza para dar formato, puedes utilizar esta función para obtener el nombre del mes en letras, especialmente cuando se trabaja con diferentes idiomas o ubicaciones.

Entonces, las 2 funciones nativas: DATENAME() y FORMAT() son los métodos principales recomendados para usar en T-SQL nativo para obtener el nombre del mes en letras. Otra función que puedes encontrar con ODBC es la función MONTHNAME. Vale la pena destacar que si bien MONTHNAME() es una función de ODBC, no es compatible nativamente con T-SQL para SQL Server.

1. Consulta de SQL Server para obtener el nombre del mes

La siguiente consulta simplemente muestra el nombre del mes utilizando la opción MONTH y la marca de tiempo actual con el formato de salida predeterminado.

SELECT DATENAME(MONTH, GETDATE() ) AS [NombreDelMes],
       GETDATE() AS [FechaActual];

Por ejemplo, devuelve «Junio» en todas las letras para hoy.

Mostrar el nombre del mes en SQL Server utilizando la función DATENAME
Obtener el nombre del mes en SQL Server utilizando la función DATENAME

En resumen, este breve tutorial explica cómo mostrar el nombre completo del mes en todas las letras a partir de una fecha de SQL. Otro artículo sobre fechas y horas muestra cómo calcular la diferencia entre dos fechas con horas, minutos y segundos.

2. Mostrar el nombre del mes en todas las letras en SQL Server

Una forma de obtener el nombre del mes en SQL Server es mostrar el nombre completo del mes en inglés. Este método puede ser útil en situaciones en las que necesitas mostrar el nombre del mes de manera más formal, como en un informe o un documento.

Utilizando la función DATENAME() con la palabra clave MONTH y la función FORMAT() con el especificador ‘MMMM’, puedes obtener fácilmente el nombre completo del mes en inglés. Esta consulta simplemente devuelve el nombre completo del mes, como «Enero» o «Diciembre».

SELECT FORMAT(GETDATE(), 'MMMM') AS [NombreCompletoDelMes];

3. Abreviatura del nombre del mes en SQL Server

Para mostrar la abreviatura del nombre del mes en SQL Server, puedes utilizar la función DATENAME() combinada con la palabra clave MONTH o la función FORMAT() utilizando el especificador ‘MMM’. Este método, que produce resultados como «Ene» o «Dic», es especialmente beneficioso para representaciones concisas en tablas o gráficos. También es ventajoso cuando las fechas deben agruparse por mes, ofreciendo una categorización sucinta. A continuación se muestra un ejemplo de código ilustrativo para lograr esto:

SELECT FORMAT(DATENAME(MONTH, GETDATE()), 'MMM') AS [AbreviaturaDelMes];

4. Obtener el mes en los 10 idiomas más hablados en el mundo

Los idiomas son una parte importante de la historia, la cultura y la comunicación humana. Los diferentes idiomas ofrecen perspectivas únicas sobre diferentes visiones del mundo y tradiciones. A continuación se presentan diez de los idiomas más hablados en todo el mundo. Cada idioma está acompañado de un fragmento de código T-SQL que formatea una fecha para mostrar el nombre del mes en ese idioma específico. Entonces, desglosemos el código T-SQL por idioma con una breve descripción para cada uno.

Nombre del mes en chino (mandarín) en SQL Server

  • Descripción: Idioma oficial de China y Taiwán.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'zh-CN') AS 'zh-CN'; -- Chino (mandarín)

Español

  • Descripción: Hablado en muchos países, especialmente en América Latina y España.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'es-ES') AS 'es-ES'; -- Español

Inglés

  • Descripción: Lingua franca global.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'en-US') AS 'en-US'; -- Inglés Americano

Hindi

  • Descripción: Hablado predominantemente en India.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'hi-IN') AS 'hi-IN'; -- Hindi

Nombre del mes en árabe utilizando T-SQL

  • Descripción: Lengua oficial en 26 países de Oriente Medio y África.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ar-SA') AS 'ar-SA'; -- Árabe

Portugués

  • Descripción: Lengua oficial de Brasil y Portugal.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'pt-BR') AS 'pt-BR'; -- Portugués (Brasil)

Bengalí

  • Descripción: Lengua oficial en Bangladesh y partes de India.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'bn-BD') AS 'bn-BD'; -- Bengalí (Bangladesh)

Ruso

  • Descripción: Lengua oficial de Rusia.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ru-RU') AS 'ru-RU'; -- Ruso

Japonés

  • Descripción: Lengua oficial de Japón.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ja-JP') AS 'ja-JP'; -- Japonés

Nombre del mes en Lahnda (Panyabí occidental)

  • Descripción: Hablado principalmente en la región de Punjab en Pakistán.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'pa-PK') AS 'pa-PK'; -- Panyabí (Pakistán)

5. Consulta para mostrar el nombre del mes en los 10 idiomas principales

El siguiente código, todavía utiliza la función FORMAT() de SQL Server para extraer el nombre del mes a partir de una fecha dada, aquí es 2023-12-31. Genera un conjunto de resultados que muestra el nombre del mes para esta fecha en varios idiomas prominentes, como chino (mandarín), español, inglés y varios otros, todo en una sola consulta.

-- ** Code by Expert-Only.com ** --
DECLARE @date datetime = '2023-12-31';

SELECT 
    FORMAT(@date, 'MMMM', 'zh-CN') AS 'zh-CN',  -- Chinese (Mandarin)
    FORMAT(@date, 'MMMM', 'es-ES') AS 'es-ES',  -- Spanish
    FORMAT(@date, 'MMMM', 'en-US') AS 'en-US',  -- English American
    FORMAT(@date, 'MMMM', 'hi-IN') AS 'hi-IN',  -- Hindi
    FORMAT(@date, 'MMMM', 'ar-SA') AS 'ar-SA',  -- Arabic
    FORMAT(@date, 'MMMM', 'pt-BR') AS 'pt-BR',  -- Portuguese (Brazil)
    FORMAT(@date, 'MMMM', 'bn-BD') AS 'bn-BD',  -- Bengali (Bangladesh)
    FORMAT(@date, 'MMMM', 'ru-RU') AS 'ru-RU',  -- Russian
    FORMAT(@date, 'MMMM', 'ja-JP') AS 'ja-JP',  -- Japanese
    FORMAT(@date, 'MMMM', 'pa-PK') AS 'pa-PK';  -- Punjabi (Pakistan);

El resultado da algo como esto en SSMS:

zh-CNes-ESen-UShi-INar-SApt-BRbn-BDru-RUja-JPpa-PK
十二月diciembreDecemberदिसम्बरجمادى الثانيةdezembroডিসেম্বরДекабрь12月ਦਸੰਬਰ
Mes traducido en las 10 lenguas principales del mundo utilizando FORMAT y los códigos de país ISO

Tenga en cuenta las particularidades para el árabe, el nombre del mes «جمادى الثانية» no es diciembre en árabe; se refiere a un mes del calendario lunar islámico. Y en el calendario gregoriano, diciembre se representa como «ديسمبر» en árabe.

6. Consulta T-SQL para mostrar el número de mes

Para mostrar el número de mes en SQL Server, utilice la función DATEPART() con la palabra clave MONTH. Esto devuelve el mes como un número entero, como 1 para enero o 12 para diciembre. Este método es útil para cálculos u ordenaciones.

SELECT DATEPART(MES, GETDATE()) COMO [NúmeroDeMes];

Conclusión sobre cómo obtener el nombre del mes en SQL Server

En SQL Server, varias funciones integradas permiten mostrar los nombres de los meses en distintos formatos, como nombres completos, abreviaturas o representaciones numéricas. La función FORMAT() permite asignar nombres de mes específicos para cada idioma. Estas herramientas son muy útiles para la elaboración de informes, gráficos o cálculos basados en meses.

Esta guía proporciona información sobre cómo mostrar los nombres de los meses de forma eficaz en SQL Server. Para obtener más precisión, como calcular la diferencia horaria exacta entre dos fechas, consulte nuestro tutorial sobre diferencia de fechas en SQL Server. Otro reto habitual es calcular la diferencia horaria entre dos fechas con precisión, es decir, incluyendo las horas, los minutos, los segundos y, en ocasiones, los milisegundos.

Por cierto, ¡nos gustaría saber tu opinión! No dudes en dejarnos un comentario o en ponerte en contacto con nosotros.

Be the first to comment

Leave a Reply

Tu dirección de correo no será publicada.


*