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

    Problema select su campo datatype BIT di sql server 2008

    Salve ragazzi ho die campi BIT nella tabella scadenze.

    I campi si chiamano eseguito e nascosto.

    Sono popolati da valori True e False.

    Il mio problema è nella select perché se io faccio:

    Select * from scadenze where eseguito = 'False' and eseguito = 'False'

    Non mi mostra i risultati corretti.

    Ho provato anche così:

    Select * from scadenze where eseguito = 0 and eseguito = 0

    Ma nulla.

    Potete cortesemente aiutarmi a capire?

    Grazie a tutti in anticipo.
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  2. #2
    where colonna_bit=0
    e
    where colonna_bit='False'

    danno lo stesso risultato. sicuro che non sia perché hai scritto

    Select * from scadenze where eseguito = 0 and eseguito = 0

    invece di

    Select * from scadenze where eseguito = 0 and nascosto = 0


    ???

  3. #3
    No Optime li mi sono sbagliato io a digitare.

    La query che uso è questa:

    codice:
    "SELECT * FROM scadenzarioDomini WHERE scadenza between '" & dataDefToday & "' AND '" & dataDefToday7 &"' AND nascosto = 'False' AND eseguito = 'False' ORDER BY scadenza ASC"
    Come sintassi mi sembra corretta.

    Ho provato a togliere le condizioni su nascosto ed eseguito e in quel caso mi tira fuori i dati corretti solo in base alla data.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  4. #4
    Allora il problema non è il campo BIT ma l'ordinamento per data.

    Se io ordino per id_scadenza (Chiave primaria valore intero) funziona.

    Se ordino per scadenza (Campo Date) non va.

    La data nel DB è scritta con questa sintassi: yyyy-mm-dd

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  5. #5
    1. il campo data è in formato data?
    2. "funziona" e "non va" sono espressioni soggettive, dicci esattamente cosa significano.

  6. #6
    Il campo data è di tipo Date.
    La data nel db è scritta in questa maniera: yyyy-mm-dd

    Il non funziona si riferisce al fatto che se metto l'ordinamento per scadenza la query lo ignora e mi da i risultati come se order by non ci fosse.

    Spero di essere stato chiaro.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  7. #7
    se la query è effettivamente quella, e il campo data è di tipo Date non c'è motivo (e io non ne ho mai avuto esperienza) per cui M$SQL debba sbagliare l'ordinamento.

    1. posta la query vera (fatti stampare la variabile con una response.write e postala)
    2. posta anche i dati di partenza e il risultato sbagliato
    3. se devi interrogare le scadenze della prossima settimana, pensa a far fare tutto a sql, con una query tipo:
    SELECT colonne FROM tabella WHERE colonna_data BETWEEN GetDate() AND GetDate()+7

  8. #8
    Allora per avere un riscontro sicuro sul risultato che deve essere visualizzato ti posto questa di query:

    SELECT * FROM scadenzarioDomini WHERE scadenza < GetDate() AND nascosto = 'False' AND eseguito = 'False' ORDER BY scadenza ASC

    Il risultato che mi da è il seguente:
    Cliente3 Dominio 2012-06-14 Annuale
    Cliente3 Dominio 2012-06-14 Annuale
    Cliente4 Dominio 2012-07-08 Annuale
    Cliente4 Dominio 2012-07-09 Annuale
    Cliente4 Dominio 2012-07-16 Annuale
    Cliente5 Dominio 2012-11-21 Annuale
    Cliente5 Dominio 2012-11-24 Annuale
    Cliente6 Dominio 2013-02-19 Annuale
    Cliente7 Dominio 2013-04-02 Annuale


    Il risultato corretto dovrebbe essere:

    cliente1 Dominio 16/05/2013 Annuale
    cliente1 Dominio 16/05/2013 Annuale
    cliente2 Dominio 27/05/2013 Annuale
    cliente1 Dominio 31/05/2013 Annuale

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  9. #9
    a parte la formattazione della data (che farai lato client) l'ordinamento è corretto, perché dici di no?

  10. #10
    Scusa come non detto i dati nel db sql sono stati caricati in maniera errata.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

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.