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

    operazione su date:(oggi)-(30 giorni)...

    in una pagina asp con una vista da DB
    devo fare una query che peschi solo i record
    che hanno il campo "novita" (campo Access di tipo data)
    che sia uguale o maggiore del valore dato da:
    (data del giorno in cui viene chiesta la query) - (30 giorni)

    come fare?
    devo prima convertire la data di "oggi" in numero, poi sottrarre 30 e poi
    riconvertire in data (controllando che sia una data "vera"?)?
    oppure esiste un modo più rapido, senza convertire da data a cifra, cioè un modo per fare operazioni sulle date senza trasformarle in cifre?
    e poi com'è la sintassi SQL se il campo Access è data (né cifra né stringa)?
    "SELECT * FROM catalogo WHERE novita = 30/08/04" è giusto?
    oppure la data va messa tra apici o altri segni?

  2. #2
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    DataNovita=day(date)-30


    dovrebbe essere cosi

  3. #3
    ho messo così ma mi dà errore di sintassi...qualcuno sa perchè?
    non è che sto mettendo una sintassi VB in SQL?


    "SELECT * FROM catalogo WHERE novita => day(date)-30"


    Ho anche cercato su freeasp.html.it e ho provato questo, ma senza risultato:

    SELECT * FROM catalogo WHERE novita => dateadd (dd, -30, getdate())", mi dice
    "Errore di sintassi (operatore mancante) nell'espressione della query 'novita => dateadd (dd, -30, getdate())'. "

  4. #4
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    "SELECT * FROM catalogo WHERE novita ='" & day(date)-30 & "'"
    prova cosi

  5. #5
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    Originariamente inviato da alescotti73
    ho messo così ma mi dà errore di sintassi...qualcuno sa perchè?
    non è che sto mettendo una sintassi VB in SQL?


    "SELECT * FROM catalogo WHERE novita => day(date)-30"


    Ho anche cercato su freeasp.html.it e ho provato questo, ma senza risultato:

    SELECT * FROM catalogo WHERE novita => dateadd (dd, -30, getdate())", mi dice
    "Errore di sintassi (operatore mancante) nell'espressione della query 'novita => dateadd (dd, -30, getdate())'. "
    prova cosi
    SELECT * FROM catalogo WHERE novita => dateadd(dd, -30, date())"

    se non funziona prova solo con d invece di dd

  6. #6
    ce l'ho fatta...

    "SELECT * FROM catalogo WHERE novita > date()-31"

    ho trovato l'indicazione semplicemnete cercanco "sql data" con google...

    grazie comunque...

  7. #7
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    Originariamente inviato da alescotti73
    ...semplicemnete cercanco "sql data" con google...

    figurati

  8. #8
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661

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.