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

Discussione: stringa in data

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    6

    stringa in data

    Salve a tutti !
    premetto che da poco uso il php e mi trovo a fare allenamento su un piccolo programma di inserimento dati. Il mio problema è che mi trovo un database mysql che invece di un campo data ha un campo per il giorno uno per il mese è uno per l'anno. Non so perchè ma è così !
    Ora volendo fare una query per cercare una data compresa in un intervallo come potrei fare per creare da quelle tre stringhe un campo data da poter confrontare con l'intervallo inserito dall'utente con il comando between ?

    Grazie ....

    Robbbi

  2. #2
    usa concat()

    .....
    where concat(anno,'-',mese,'-',giorno) between '$data1' AND '$data2'

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    6
    Grazie ! Ci provo .....

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    6
    Ciao ! Purtroppo non va .... questo è il risultato

    SELECT * FROM magaz where concat(annos,'-',meses,'-',giornos) between 02/01/2011 and 02/15/2011

    non interpreta il valore dei tre campi come data.

    Grazie

    Robbbbi

  5. #5
    Originariamente inviato da robbbbi
    Ciao ! Purtroppo non va .... questo è il risultato

    SELECT * FROM magaz where concat(annos,'-',meses,'-',giornos) between 02/01/2011 and 02/15/2011

    non interpreta il valore dei tre campi come data.

    Grazie

    Robbbbi
    lascio a te di decidere se:

    anno-mese-giorno possono essere paragonati a: 02/01/2011 and 02/15/2011


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

  6. #6
    fai una bella cosa: crea un campo aggiuntivo sulla tabella di tipo datetime e importa tutte le date in quel campo dopodichè lavori su quel campo. Eviti rotture di scatole.
    Certo che chi progetta i database in quella maniera dovrebbe essere fucilato...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    6
    Si lo penso anch'io ! Ecco ma vista la mia scarsa preaticita con php come faccio per prelevare le tre stringhe convertirle in data e incollare la data nel nuovo campo ?

    Grazie ancora

    Robbbbi

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    6
    Originariamente inviato da piero.mac
    lascio a te di decidere se:

    anno-mese-giorno possono essere paragonati a: 02/01/2011 and 02/15/2011

    Si hai ragione, sono abbastanza pirla ma se noti il risultato della query noterai che le date di confronto sono effettivamente date mentre in concatenamento delle stringhe per la data danno come risultato i nomi dei campi.
    Questo è il problema ....

    Grazie

    Robbbbi

  9. #9
    modifica i - con gli /
    e le date le devi scrivere sempre nello stesso formato cioè YYYY/MM/DD

  10. #10
    utilizza la funzione convert per convertire la stringa ad un datetime, così:
    codice:
    SELECT CONVERT(concat('2011-10-','02'),datetime);

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 © 2025 vBulletin Solutions, Inc. All rights reserved.