Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395

    Query Sql Server confronta date

    Ciao a tutti ho un database Sql dove nella tabella Quote ho un campo DataQuote di tipo datetime, devo fare una query in una pagina asp per trovare tutti i record compresi fra due date(in questo caso tutti i record di un mese).

    Ecco lo script:

    MeseAttuale= Month(Date())
    MeseProssimo= MeseAttuale+1
    DataAttuale = day(date())
    AnnoAttuale = year(date())

    ' Calcolo il primo giorno del mese
    primo = "01" & "/" & MeseAttuale & "/" & AnnoAttuale
    ' Calcolo il primo giorno del mese prossimo
    primoProssimo = "01" & "/" & MeseProssimo & "/" & AnnoAttuale
    ' Calcolo l'ultimo giorno del mese
    ultimo = DateAdd("d", -1, primoProssimo)

    sql="SELECT Sum(Quote.Total) AS [Total Revenue Open] FROM Quote WHERE Quote.DataQuote>="&primo&" and Quote.DataQuote<="&ultimo&" "

    la query non mi da errori ma non mi restituisce niente, i record ci sono ho provato anche cosi'

    sql="SELECT Sum(Quote.Total) AS [Total Revenue Open] FROM Quote WHERE Quote.DataQuote<="&ultimo&" "
    ma niente....

    Sul Db le date sono tipo la seguente:
    29/06/2008 12:00:00 AM

    Qualcuno mi sa aiutare?

  2. #2
    Usa il formato iso per le date in Sql Server

    'AAAA-MM-DDTHH:MM:SS'

    Ovvero

    '2008-05-30T00:00:00'

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    cioe' come diventa la query?

  4. #4
    Ciao,
    hai provato a convertire "primo" e "ultimo" in formato data?? Sicuramente aiuta!!

    if IsDate(primo) then CDate(primo) end if
    if IsDate(ultimo) then CDate(ultimo) end if

    Se ancora non funzione hai bisogno di impostare SQLServer con la datazione italiana (di default ha quella americana --> 01/30/2008 per esempio)

    Debuggare è essenziale....

    ***************************
    Non può piovere per sempre...
    ***************************

  5. #5
    Ma che conversioni di localizzazione

    NELLE QUERY DOVETE USARE LE DATE IN FORMATO ISO E BASTA

    es: SELECT * from tabella where data > '2008-01-30T00:00:00'

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.