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

    [MySql]Problemino con SELECT

    ciao a tutti,
    ho un picclo problemino con una select, ho un campo data nel formato YYYY-MM-DD
    supponiamo di avere 5 record del tipo:

    2006-05-12
    2006-05-13
    2006-05-14
    2006-05-15
    <---- manca il giorno 2006-05-15
    2006-05-17

    la mia select è del tipo:

    SELECT * FROM tabella WHERE tabella.data BETWEEN 2006-05-12 AND 2006-05-17
    vorrei che mi desse 0 risultati,anzichè 5, visto che il giorno 2006-05-15 manca tra i record.
    dove sbaglio?

    Grazie mille a tutti!

  2. #2
    sbagli a fare l'ordine al cameriere....

    se vuoi i dati between da ... a, la query ti rende quello che trova.

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

  3. #3
    Originariamente inviato da piero.mac
    sbagli a fare l'ordine al cameriere....

    se vuoi i dati between da ... a, la query ti rende quello che trova.

    ciao piero.mac
    quindi ho sbagliato l'ordine e alla cassa pago comunque
    ...in effetti poi leggento bene la sintassi del BETWEEN è come dici tu! quindi come posso risolvere il problemino?hai un'idea?

    ti ringrazio per la disponibilità!

  4. #4
    Originariamente inviato da dinucciarturo
    ciao piero.mac
    quindi ho sbagliato l'ordine e alla cassa pago comunque
    ...in effetti poi leggento bene la sintassi del BETWEEN è come dici tu! quindi come posso risolvere il problemino?hai un'idea?

    ti ringrazio per la disponibilità!
    Credo sia una eccezione che devi gestire diversamente. Bisognerebbe conoscere l'obiettivo, cioe' il perche' delle date, quante possono essere (es. una per giorno) .

    Fossero una al giorno puoi contare il delta e verificare che tante siano le righe estratte dalla query.

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

  5. #5
    Originariamente inviato da piero.mac
    Credo sia una eccezione che devi gestire diversamente. Bisognerebbe conoscere l'obiettivo, cioe' il perche' delle date, quante possono essere (es. una per giorno) .

    Fossero una al giorno puoi contare il delta e verificare che tante siano le righe estratte dalla query.
    quindi in pratica il confronto devo farlo dopo la query (come dici tu devo vedere i giorni che ci sono nell'intervallo e poi confrontarlo con il numero di risultati)...non è possibile ottenere 0 risultati direttamente dalla query?


    grazie mille!

  6. #6
    Originariamente inviato da dinucciarturo
    quindi in pratica il confronto devo farlo dopo la query (come dici tu devo vedere i giorni che ci sono nell'intervallo e poi confrontarlo con il numero di risultati)...non è possibile ottenere 0 risultati direttamente dalla query?


    grazie mille!
    con SQL si puo' fare "quasi" tutto. Per farlo pero' deve esserci la struttura che ne prevede la fattibilita'.

    Nel tuo caso non si capisce perche' debba esserci un record "assente" come data, ma presente (forse?) con altri valori. Se si tratta di dati a calendario (ogni giorno un record) allora deve esserci il calendario completo. In altre parole non esiste "la cura", ma esiste un problema di cui necessita conoscere l'anamnesi per trovare una soluzione.

    Per esempio se si trattasse di prenotazioni viaggi o alberghiere il criterio, sia di struttura db che di ricerca, sara' diverso da quello della gestione di news.

    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.