Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    select per data dettagliata

    salve

    ho un database con dei dati all'interno, ogni record riporta la data nel formato classico YYYY-MM-DD
    ora... devo selezionare i dati che soddisfano la condizione, in modo da visualizzare solo il mese che mi interessa ma per tutti gli anni e i giorni
    ad esempio :
    $mese_di_interesse = 8;

    SELECT * FROM nome_tabella WHERE data = '????-$mese_di_interesse-??'

    il mese viene specificato con una variabile e fin qua e' tutto ok, come faccio a dire a mysql di cercarmi tutti gli anni e i giorni per quel determinato mese ?

    ho provato anche cosi' :
    SELECT * FROM nome_tabella WHERE data = '____-$mese_di_interesse-__'
    SELECT * FROM nome_tabella WHERE data = '&%-$mese_di_interesse-%%'

    ma non funziona, qualcuno ha la soluzione ?
    P.S. non mi dite di utilizzare :
    SELECT * FROM nome_tabella WHERE month(data) = $mese_di_interesse
    perche poi dopo devo fare combinazioni di ricerca e non andrebbe bene, mi interessa solo con uso di caratteri jolly nella data
    Falc©NET
    __________________
    http://falco.ilbello.com - Il Mio Sito Personale
    http://bandalarga.ilbello.com - Monitoraggio Della Banda Larga Italiana

  2. #2

    Re: select per data dettagliata

    Originariamente inviato da falconet
    P.S. non mi dite di utilizzare :
    SELECT * FROM nome_tabella WHERE month(data) = $mese_di_interesse
    perche poi dopo devo fare combinazioni di ricerca e non andrebbe bene, mi interessa solo con uso di caratteri jolly nella data
    Spiega cosa vuoi dire. Perche' non andrebbe bene?

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

  3. #3

    Re: Re: select per data dettagliata

    Originariamente inviato da piero.mac
    Spiega cosa vuoi dire. Perche' non andrebbe bene?
    mi correggo sarebbe la stessa cosa
    ora che ci penso basterebbe modificare tutto in
    SELECT * FROM nome_tabella WHERE day(data) = $giorno_di_interesse AND month(data) = $mese_di_interesse AND year(data) = $anno_di_interesse

    cmq mi verrebbe + facile cosi :
    $giorno_di_interesse = 3;
    $mese_di_interesse = 8;
    $anno_di_interesse = 2007;

    SELECT * FROM nome_tabella WHERE data = '$anno_di_interesse-$mese_di_interesse-$giorno_di_interesse'

    mi cerca tutti i dati del 3/8/2007

    il problema pero' non e' questo, ma questo : come selezionare tutti i dati di un mese specifico lasciando integra la struttura della query ?
    SELECT * FROM nome_tabella WHERE day(data) = $giorno_di_interesse AND month(data) = $mese_di_interesse AND year(data) = $anno_di_interesse
    se tolgo dalla query :
    day(data) = $giorno_di_interesse AND
    AND year(data) = $anno_di_interesse
    facendola diventare :
    SELECT * FROM nome_tabella WHERE month(data) = $mese_di_interesse
    funziona, pero' la struttura di base si modificherebbe e questo non deve avvenire
    ecco perche avevo pensato a dei caratteri jolly in modo che visualizzassero tutti i dati per quel determinato campo in questo modo :

    $giono_di_interesse = NULL;
    $mese_di_interesse = 8;
    $anno_di_interesse = NULL;
    SELECT * FROM nome_tabella WHERE data = '$anno_di_interesse-$mese_di_interesse-$giorno_di_interesse'
    il risultato dovrebbe essere quello di selezionarmi il mese di agosto per qualsiasi anno e qualsiasi giorno, pero cosi' non e' perche quel null non fuziona, ora, al posto del dull cosa potrei metterci ? ho provato di tutto (%, _ etc) ma non funziona, qualcuno conosce qualche tipo di carattere jolly in modo da dire a mysql di selezionarmi tutti gli anni e giorni per il mese scelto ?
    Falc©NET
    __________________
    http://falco.ilbello.com - Il Mio Sito Personale
    http://bandalarga.ilbello.com - Monitoraggio Della Banda Larga Italiana

  4. #4
    e che cos'e' la struttura di base?

    where month(data) = 8

    ti seleziona tutti i giorni del mese di agosto di tutti gli anni. Al limite dovresti chiedere come puoi ordinare il result set ottenuto.

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

  5. #5
    la notte porta consiglio (ma non sempre).

    Se per struttura di base intendi dire le query gia' formate ed esistenti allora mi spiace ma devi comunque modificarle.

    Per utilizzare i caratteri jolly devi usare LIKE e non =

    WHERE day(data) LIKE '%' AND month(data) = $mese_di_interesse AND year(data) like '%'

    equivale a:

    WHERE month(data) = $mese_di_interesse

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

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.