Cómo obtener los nombres de los meses que estén entre dos fechas en SQL

Escrito por darren johannsen | Traducido por juliana star
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo obtener los nombres de los meses que estén entre dos fechas en SQL
T-SQL y MySQL son dos extensiones diferentes de SQL. (Jupiterimages/Photos.com/Getty Images)

Obtener los nombres de los meses en un rango de fechas es una tarea mucho menos complicada de lo que podría parecer al principio, aunque puede lograrse en formas ligeramente diferentes dependiendo de la versión de SQL que estés usando. Con T-SQL puede lograrse mediante la función DATENAME y una variable de tipo tabla, mientras que con MySQL tendrías que usar la función MONTHNAME y una tabla temporal.

Nivel de dificultad:
Moderadamente fácil

Otras personas están leyendo

Instrucciones

    Cómo obtener los nombres de los meses en T-SQL

  1. 1

    Declara las variables para la fecha inicial y la fecha final, además de una variable de tipo tabla para almacenar temporalmente los nombres de los meses. Por ejemplo:

    DECLARE @start DATETIME; DECLARE @end DATETIME;

    DECLARE @months TABLE (month_name VARCHAR(30));

    SET @start = '2011-01-01'; SET @end = '2011-12-01';

  2. 2

    Recorre los meses mediante iteraciones agregando sus nombres a la variable de tipo tabla usando las funciones DATENAME y DATEADD. Por ejemplo:

    DECLARE @start DATETIME; DECLARE @end DATETIME;

    DECLARE @months TABLE (month_name VARCHAR(30));

    SET @start = '2011-01-01'; SET @end = '2011-12-01';

    WHILE (@start < @end) BEGIN

    INSERT INTO @months SELECT DATENAME(month, @start);

    SET @start = DATEADD(month, 1, @start);

    END

  3. 3

    Finalmente utiliza la instrucción SELECT para seleccionar la lista con los nombres de los meses desde la variable de tipo tabla. Por ejemplo:

    DECLARE @start DATETIME; DECLARE @end DATETIME;

    DECLARE @months TABLE (month_name VARCHAR(30));

    SET @start = '2011-01-01'; SET @end = '2011-12-01';

    WHILE (@start < @end) BEGIN

    INSERT INTO @months SELECT DATENAME(month, @start);

    SET @start = DATEADD(month, 1, @start);

    END

    SELECT * FROM @months;

    Cómo obtener los nombres de los meses en MySQL

  1. 1

    Declara las variables para la fecha inicial y la fecha final y luego crea una tabla temporal para almacenar los nombres de los meses. Por ejemplo:

    DECLARE @start DATETIME; DECLARE @end DATETIME;

    CREATE TEMPORARY TABLE TempMonths (month_name VARCHAR(30));

    SET @start = '2011-01-01'; SET @end = '2011-12-01';

  2. 2

    Recorre los meses mediante iteraciones agregando sus nombres a la tabla temporal mediante el uso de las funciones MONTHNAME y DATE_ADD. Por ejemplo:

    DECLARE @start DATETIME; DECLARE @end DATETIME;

    CREATE TEMPORARY TABLE TempMonths (month_name VARCHAR(30));

    SET @start = '2011-01-01'; SET @end = '2011-12-01';

    WHILE (@start < @end) BEGIN

    INSERT INTO TempMonths SELECT MONTHNAME(@start);

    SET @start = DATE_ADD(@start, INTERVAL 1 MONTH);

    END

  3. 3

    Finalmente utiliza la instrucción SELECT para seleccionar la lista con los nombres de los meses y limpia la tabla temporal. Por ejemplo:

    DECLARE @start DATETIME; DECLARE @end DATETIME;

    CREATE TEMPORARY TABLE TempMonths (month_name VARCHAR(30));

    SET @start = '2011-01-01'; SET @end = '2011-12-01';

    WHILE (@start < @end) BEGIN

    INSERT INTO TempMonths SELECT MONTHNAME(@start);

    SET @start = DATE_ADD(@start, INTERVAL 1 MONTH);

    END

    SELECT * FROM TempMonths;

    DROP TABLE TempMonths;

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles