Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Posticipare una data Mysql

    Sicuramente l'argomento è già stato trattato ma non sono riuscito a trovare quel che mi serve.

    In un record ho una 'data' (date) e un campo 'giorni_ritardo' (int), avrei bisogno di posticipare la 'data' di tanti giorni quanti ne contiene il campo 'giorni_ritardo'.

    Es: data 2006-05-20 e giorni ritardo = 7 dovrei ottenere 2006-05-27

    Il tutto eseguito con un'unica query, penso sia possibile ma i miei tentativi non hanno portato a nessun risultato.

    Grazie per eventuali suggerimenti.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    select adddate(campo_data,giorni_ritardo) from tabella ecc

  3. #3
    Ti ringrazio per la risposta ma non devo leggere il valore del campo 'data' ma sostituirlo con quello posticipato, quindi l'istruzione deve essere del tipo:
    update mia_tabella set data = ??????? (istruzione che sostituisce data con data + giorni ritardo.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    update tabella set campo_data = adddate(campo_data,ritardo) where id = x;

  5. #5
    Ti ringrazio veramente tanto,
    proverò domani mattina adesso ho gli occhi che mi si incrociano.

    Ciao

  6. #6
    Originariamente inviato da nicola75ss
    update tabella set campo_data = adddate(campo_data,ritardo) where id = x;
    Mi sa che cosi' non va .....

    ADDDATE(data, INTERVAL espressione tipo)

    codice:
    update tabella set 
    campo_data = campo_data + INTERVAL giorni_ritardo day
    where id = x;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Si infatti la sintassi proposta da nicola75ss mi da errore, proverò con la nuova.

    Ringrazio comunque entrambi.

    Ciao

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da vitren54
    Si infatti la sintassi proposta da nicola75ss mi da errore, proverò con la nuova.

    Ringrazio comunque entrambi.

    Ciao
    Evidentemente hai una versione datata di mysql perchè la query che ti ho scritto sintatticamente
    è giusta. Cmq con quella di piero.mac vai sicuro (come sempre).

  9. #9
    Originariamente inviato da nicola75ss
    Evidentemente hai una versione datata di mysql perchè la query che ti ho scritto sintatticamente
    è giusta. Cmq con quella di piero.mac vai sicuro (come sempre).
    ADDATE e' una funzione "variata" dalla versione 4.0 alla 4.1.... Il problema princpale consiste nella portabilita' dello script. Morale ... quando una funzione cambia la sua sintassi passando da una versione alla successiva ma mantenendo il nome identico.... e' da considerare morta e la scelta degli sviluppatori pessima.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Ho risolto grazie al suggerimento di piero.mac, la mia versione in effetti è la 4.0.6 e mantengo quella in quanto è la stessa installata dal mio hosting.
    Certo che se si variano sintassi o funzioni mantenendo lo stesso nome dell'istruzione (senza prevedere una compatibilità all'indietro) si corre il rischio, da un giorno all'altro, di non vedersi più funzionare porzioni di programmi.

    Ciao e grazie avevo proprio bisogno di quell'aggiornamento, sono un programmatore ma non in PHP.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.