none
Filtro por Fechas

    Pregunta

  • Buen dia.

    tengo una tabla en sql de unas fechas de varios años por dias, y necesito hacer un filtro que sea por días meses y años. Mi idea es que seleccionado el mes digamos Febrero, me aparescan los meses de febrero y si le agrego el dia o el año me lo filtre también.

    tengo un codigo para mostrar la información en un datagridview despues, la idea es filtrar después de que se cargue el datagrid. 

    gracias.


    JorgeLeonardoDC

    miércoles, 19 de octubre de 2016 13:55

Respuestas

  • Hola JorgeLeonardoDC,

    Lo que entiendo es que si haces la consulta con estos valores :

    Febrero             <- Registros del mes de febrero
    15/Febrero          <- Registros del 15 de Febrero de cualquiera año
    Febrero/2016        <- Registros del mes de Febrero del año 2016
    10/Febrero/2016     <- Registros del 10 de Feb. del 2016

    En cualquiera caso debe de funcionar, es correcto ? En caso sea correcto puedes hacer la consulta por medio de un formato a la columna de tipo Date.

    SELECT FORMAT(GETDATE(), 'MMMM/yyyy') --octubre/2016
    SELECT FORMAT(GETDATE(), 'dd/MMMM') --19/octubre
    SELECT FORMAT(GETDATE(), 'MMMM') --octubre

    Mediante la aplicación según se tome los valores recreas el formato y envías al StoredProcedure.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 19 de octubre de 2016 21:34

Todas las respuestas

  • Ya probaste el objeto data "DateTimePicker" ?
    miércoles, 19 de octubre de 2016 20:51
  • Hola JorgeLeonardoDC,

    Lo que entiendo es que si haces la consulta con estos valores :

    Febrero             <- Registros del mes de febrero
    15/Febrero          <- Registros del 15 de Febrero de cualquiera año
    Febrero/2016        <- Registros del mes de Febrero del año 2016
    10/Febrero/2016     <- Registros del 10 de Feb. del 2016

    En cualquiera caso debe de funcionar, es correcto ? En caso sea correcto puedes hacer la consulta por medio de un formato a la columna de tipo Date.

    SELECT FORMAT(GETDATE(), 'MMMM/yyyy') --octubre/2016
    SELECT FORMAT(GETDATE(), 'dd/MMMM') --19/octubre
    SELECT FORMAT(GETDATE(), 'MMMM') --octubre

    Mediante la aplicación según se tome los valores recreas el formato y envías al StoredProcedure.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 19 de octubre de 2016 21:34
  • JorgeLeonardoDC,

    Creo que un ejemplo parecido ya lo habíamos visto con anterioridad:

    SELECT *
    FROM T
    WHERE
        (DAY(Fecha) = @Dia OR @Dia IS NULL)
        AND (MONTH(Fecha) = @Mes OR @Mes IS NULL)
        AND (YEAR(Fecha) = @Anio OR @Anio IS NULL)


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 19 de octubre de 2016 22:13