john_revelator
06-02-2008, 01:27
Salve a tutti. Qualcuno mi saprebbe dire per quale motivo se in una tabella ho un campo di tipo date che contiene varie date, una delle quali ad esempio 01/01/2005, quando poi vado a eseguire la query mi viene restituito per tutti i record maggiore di 4
Function trascorsi(data)
Select Case data
Case DateDiff("yyyy", Year(Now), Year(data)) <= 4
trascorsi = "minore di 4"
Case Else
trascorsi = "maggiore di 4"
End Select
End Function
select data,trascorsi(data) as differ from tabella
Se anzichč delle date uso dei valori numerici il tutto funziona. Ho provato a castare il datediff ad intero, a usare la funzione format in tutte le salse ma niente. Dove diavolo sto sbagliando?
Non so pių dove :muro:
Buona notte e grazie :help:
p.s. non ditemi di usare iif perchč qui ho semplificato il problema ma a me serve proprio un case. :)
Function trascorsi(data)
Select Case data
Case DateDiff("yyyy", Year(Now), Year(data)) <= 4
trascorsi = "minore di 4"
Case Else
trascorsi = "maggiore di 4"
End Select
End Function
select data,trascorsi(data) as differ from tabella
Se anzichč delle date uso dei valori numerici il tutto funziona. Ho provato a castare il datediff ad intero, a usare la funzione format in tutte le salse ma niente. Dove diavolo sto sbagliando?
Non so pių dove :muro:
Buona notte e grazie :help:
p.s. non ditemi di usare iif perchč qui ho semplificato il problema ma a me serve proprio un case. :)