Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    348

    Select con date SQL Server

    Ciao a tutti...

    Avrei la necessità di estrarre alcuni record da una tabella messaggi con una JOIN su una tabella che mi logga gli accessi a livello di singolo utente (i messaggi appaiono all'interno di un applicativo).

    La query che uso è questa:

    sqlStr = "SELECT Msg.MsgTitolo, Msg.MsgTesto, Msg.MsgNumVis,"
    sqlStr = sqlStr & "NumVisMsg.MsgID, NumVisMsg.NumVis "
    sqlStr = sqlStr & "FROM (Msg INNER JOIN NumVisMsg ON "
    sqlStr = sqlStr & "Msg.MsgID=NumVisMsg.MsgID) "
    sqlStr = sqlStr & "WHERE NumVisMsg.UtenteID='test' "
    sqlStr = sqlStr & "AND NumVisMsg.NumVis<Msg.MsgNumVis "
    sqlStr = sqlStr & "AND Msg.MsgData<=" & dataoggimod & " "
    sqlStr = sqlStr & "AND Msg.MsgDataScad>=" & dataoggimod & " "
    sqlStr = sqlStr & "ORDER BY Msg.MsgData DESC"

    Prima definisco i campi come di seguito:
    dataoggimod = cdate(Right("0" & Month(Date()), 2) & "/" & Right("0" & Day(Date()), 2) & "/" & Year(Date()))

    Succede una cosa strana: se tolgo le condizioni delle date mi vengono estratti i record mentre così no...
    La cosa ancor più strana è che se mi stampo la query prima di eseguirla appare come vi riporto dopo, senza un pezzo ed errata... chi mi aiuta a capire il perchè ???

    Praticamente è come se non mi considerasse la condizione sulle date...

    Grazie
    Edo

    Query:

    SELECT Msg.MsgTitolo, Msg.MsgTesto, Msg.MsgNumVis,NumVisMsg.MsgID, NumVisMsg.NumVis FROM (Msg INNER JOIN NumVisMsg ON Msg.MsgID=NumVisMsg.MsgID) WHERE NumVisMsg.UtenteID='test' AND NumVisMsg.NumVis=11/30/2005 ORDER BY Msg.MsgData DESC

  2. #2
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    la gestione data è un pochino più complessa
    http://www.devarticles.com/c/a/SQL-S...L-Server-2000/
    Tutti vogliono parlare, nessuno sa ascoltare.

  3. #3
    codice:
    mydate = "2005-10-31"
    sql = "... WHERE CONVERT(CHAR(10), campoData, 121) = '" & myDate & "'"

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    348
    Originariamente inviato da Mems
    codice:
    mydate = "2005-10-31"
    sql = "... WHERE CONVERT(CHAR(10), campoData, 121) = '" & myDate & "'"
    Adesso ottengo il seguente errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

    [Microsoft][ODBC SQL Server Driver][SQL Server]È stato rilevato un errore di sintassi durante la conversione del valore varchar '2005-11-29' in una colonna di tipo int.

    /it/msg.asp, line 33

    E poi se non è un casino mi spieghi un po' il significato di quanto mi hai fatto sopra?

    Grazie mille
    Edo

  5. #5
    Scusa, ma il tuo campo che contiene la data di che tipo è? E cosa contiene, ad eempio?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    348
    Purtroppo non riesco ad accedere all'SQL... dovrebbe essere di tipo Data dato che io ho fornito lo snapshot di Access all'amministratore...

    In che formato deve essere?

    Purtroppo non conosco SQL Server...

  7. #7
    datetime 8

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.