none
Restar días SQL

    Question

  • Hola nuevamente,

    Quería saber si me podrían ayudar a lo siguiente;

    Primero miren este código mio; http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/7df2649e-42bb-467f-85d4-9a0877f5c619

    Si nos fijamos en, los cases

                    Select Case UCase(dr(4).ToString)
                        Case Is = "0" 'Cuenta inactiva
    
    
                        Case Is = "1" 'Licencia caducada. Renovar
    					
    
                        Case Is = "2" 'Licencia bloqueada
    
    					
                        Case Is = "4" 'Modo de prueba 30 días
    
    
                        Case Is = "5" 'Caduca en menos de 10 días (Modo Prueba)
    
    					
                        Case Is = "6" 'Caduca en menos de 10 días (versión de pago)

    Quería saber como puedo hacer que reste días en la SQL, y cuando van faltando los últimos días, que al usuario se le cambie el campo de case solo en la base de datos.

      `registro` datetime DEFAULT '0000-00-00 00:00:00',
      `caduca` datetime DEFAULT '0000-00-00 00:00:00',

    Esta es la tabla donde debería restar, en la de caduca. Y la tabla de los cases son,   `banned` enum('0','1','2','3','4','5','6') NOT NULL DEFAULT '0',

    Espero una respuesta, si necesita más información diganme

    Muchas gracias

    Monday, May 14, 2012 10:45 AM

All replies

  • Buenas Symantecc.

    En Transact-SQL puedes hacer uso de la función DATEADD.

    SELECT CampoFecha, DATEADD(day,-1, CampoFecha) FROM Tabla

    Esta consulta devolvería el valor actual del campo ficticio "CampoFecha" y el valor del campo ficticio "CampoFecha" con un día menos.

    Un saludo.


    Antonio López Atienza
    Microsoft Community Contributor
    .NET Developer
    Code examples
    http://www.lopezatienza.es

    Monday, May 14, 2012 11:36 AM
  • Creo recordar que trabajas con Mysql.

    http://www.electrictoolbox.com/date-add-mysql-intervals-dates/

    Un saludo.


    Antonio López Atienza
    Microsoft Community Contributor
    .NET Developer
    Code examples
    http://www.lopezatienza.es

    Monday, May 14, 2012 11:38 AM
  • cuando trabajas con mysql recuerda consulta la documentacion del mismo

    12.7. Date and Time Functions

    alli veras funciones que pueden ser utiles para trabajar con distintos tipos de datos

    puees usar el

    DATEDIFF()

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Monday, May 14, 2012 12:24 PM
  • Puedes trabajar de esta manera.

    Dim

    daq As New SqlDataAdapter("Select nrecibo as [Numero de Recibo], apamnom as [Apellidos y Nombres], ncontrat as[Numero de Contrato],mesconsu [Mes de Consumo], costomes [Costo Mensual], fecemi as [Fecha de Emisin],fecvenci as [Fecha de Vencimiento],Dias =datediff (day,fecvenci,Getdate() ) from   registro where apamnom LIKE '%" & TextBox1.Text & "%'", cn)

           

    Dim dtq As New DataTable

            daq.Fill(dtq)

           

    Me.DataGridViewX1.DataSource = dtq


    David Mayurí Rojas

    • Proposed as answer by David.M.R Monday, May 14, 2012 11:43 PM
    Monday, May 14, 2012 11:43 PM
  • Hola Leandro y lopezatienza

    Estuve mirando lo vuestro y entendí algo pero no entiendo que hacer para integrarlo en el código.

    David, no entiendo bien tu código, espero que me podáis ayudar más profundamente.

    Saludos y espero una respuesta

    Tuesday, May 15, 2012 4:08 PM
  • Estuve mirando lo vuestro y entendí algo pero no entiendo que hacer para integrarlo en el código.

    no lo integras en el codigo, lo integras en la query

    son funciones de sql las que recomendamos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Tuesday, May 15, 2012 4:48 PM
  • me podrías indicar en que parte del código lo inserto?

    Gracias espero una respuesta

    Tuesday, May 15, 2012 6:41 PM
  • este código permite mostrar la cantidad de dias que existe desde la fecha de emision del recibo con la fecha de vencimiento

    fecvenci as [Fecha de Vencimiento],Dias =datediff (day,fecvenci,Getdate() )

    como indica Leandro hay que insertarlo en la query.


    David Mayurí Rojas

    Tuesday, May 15, 2012 7:14 PM
  • repito no es codigo, es en la query de mysql

    lo que no mencioasn es como estructuras la tabla con los campos que quieres restas los dias, esto que se propuso no afecta el codigo, bueno no al menso de forma directa, afecta a la query que estas creando

    pero menciona como es la tabla que quieres usar y los campos con los campos que restarias

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Tuesday, May 15, 2012 7:19 PM
  • Hola, no entiendo nada enserio.

    Me podéis facilitar un código para poderlo implementar?

    Espero que me respondan y gracias

    Thursday, May 31, 2012 8:26 AM
  • Hola buenas.

    me podéis ayudar con el código a implementarlo, porque primero no se donde ponerlo y menos con lo que me habéis dicho no entiendo mucho. Espero que podáis ser más resumidos

    Gracias y espero vuestra ayuda

    Friday, June 01, 2012 7:14 AM
  • Hola buenas, veo que nadie me contesta y no entiendo las preguntas. Espero que puedan ojear el siguiente tema y decirme en que parte integro tal código porque no me aclaro ni se como ponerlo.

    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/ec4f3e02-01fc-40f5-84d3-06623dce9301

    Gracias

    Saturday, June 09, 2012 11:23 PM
  • Y... sabes hacer consultas SQL desde Visual Basic??

    Pon algo de tu codigo que usas para hacer Consultas SQL a la Base de Datos y te podremos indicar en cual parte debes "implementarlo".

    Sunday, June 10, 2012 12:58 AM
  • Y... sabes hacer consultas SQL desde Visual Basic??

    Pon algo de tu codigo que usas para hacer Consultas SQL a la Base de Datos y te podremos indicar en cual parte debes "implementarlo".

    hola jerryeagle,

    aquí está todo el código

    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/7df2649e-42bb-467f-85d4-9a0877f5c619

    Espero que me puedas ayudar, muchas gracias!

    Sunday, June 10, 2012 11:56 AM