PDA

View Full Version : [Transact-SQL] Query con criterio temporale


superciccio14
22-03-2011, 10:28
Ciao a tutti Transact-SQL offre la funzione getdate() per ricavare la data attuale.

Come posso fare ad effettuare una query per selezionare i record che hanno un valore di un campo datetime che cade nella mezzora successiva all'esecuzione della query?

Ciao!

Lucky Angus
22-03-2011, 10:57
Ciao,

io useri il DATEADD()

http://msdn.microsoft.com/it-it/library/ms186819.aspx


Non ho ben capito se vuoi prendere la "data attuale + 30 minuti" o "data compresa tra + 30 minuti e - 30 minuti"


comunque con il DATEADD() puoi "fare operazioni" con minuti, giorni, mesi, ecc.


saluti ! :)

FabryHw
22-03-2011, 13:05
Ciao a tutti Transact-SQL offre la funzione getdate() per ricavare la data attuale.

Come posso fare ad effettuare una query per selezionare i record che hanno un valore di un campo datetime che cade nella mezzora successiva all'esecuzione della query?

Ciao!

Come ti hanno già detto si fa con il DateAdd.

Esempio:
....
WHERE MioCampoData BETWEEN GETDATE() AND DATEADD(n, +30, GETDATE())

superciccio14
22-03-2011, 17:25
Perfetto un grazie ad entrambi! :)

superciccio14
23-03-2011, 14:53
Riuppo questo topic perché non riesco a risolvere un problema, sto provando a calcolare la dispersione (con la var) di un campione formato da datetime. Ecco la mia query


--Var in minuti quadrati
SELECT
VAR(
CAST(
data_del_campione
AS FLOAT
)*1440
)
FROM
tabella
WHERE
id_data = 123

Eppure in alcuni casi mi ritorna 0.0 ma non dovrebbe (infatti il campione è disperso, come mai?)

superciccio14
23-03-2011, 17:18
...peraltro la cosa curiosa è che se uso lo stesso metodo, ma per calcolare la media di una serie di valori uguali, non ottengo lo stesso valore...

ad esempio:

SELECT


--Media
CAST(
AVG(
CAST(
data_del_campione
AS FLOAT
)
)
AS DATETIME
) AS Media
FROM
tabella
WHERE
id_data = 123

se i record con id_data=123 hanno tutti lo stesso identico valore datetime nel campo "data_del_campione", la query mi ritorna un risultato diverso, è un problema di approssimazione?

Come si risolve?

superciccio14
23-03-2011, 22:49
:help: