Ok allora ho zero esperienza su mssql, e devo fare un'operazione come da titolo che credevo (AH! illuso) semplice
Ho una tabella con un campo EventDate che è un datetime con solo la data:
2016-07-01 00:00:00
ed un campo InTime che è un datetime con solo l'ora:
1899-12-30 10:30:59.000
Come faccio a metterli insieme e ottenere una cosa umana tipo "2016-07-01 10:30:59.000"? Possibilmente in un comando solo visto che andranno in una View
Sì, lo so, è tutto molto
CONCAT?
oppure crei un campo datetime dove come value ci metti la data del primo e l'ora del secondo.
certo che idiozia metterli in field diversi
oppure crei un campo datetime dove come value ci metti la data del primo e l'ora del secondo.
certo che idiozia metterli in field diversi
Edit: non funziona
Ty night
Mi ritorna solo la parte DATA senza l'ora
edit2: il primo convert ho messo date invece di datetime ma
Se converto tutto a varchar, noto che mi viene creato qualcosa tipo
2016-07-01 10:30:46.0000000
(che fallisce probabilmente a causa dei troppi zeri in fondo )
SELECT CONVERT(date, convert(varchar,CAST([EventDate] AS DATE)) + ' ' + convert(varchar,CAST([InTime] AS TIME)))
Io non so cosa si siano fumati per metterli così Ty night
Mi ritorna solo la parte DATA senza l'ora
edit2: il primo convert ho messo date invece di datetime ma
SELECT CONVERT(datetime, convert(varchar,CAST([EventDate] AS DATE)) + ' ' + convert(varchar,CAST([InTime] AS TIME)))
mi dice errore: Conversion failed when converting date and/or time from character string.Se converto tutto a varchar, noto che mi viene creato qualcosa tipo
2016-07-01 10:30:46.0000000
(che fallisce probabilmente a causa dei troppi zeri in fondo )
Ok funziona specificando la lunghezza del campo
SELECT CONVERT(datetime, convert(varchar,CAST([EventDate] AS DATE)) + ' ' + convert(varchar,CAST([InTime] AS TIME(3))))
Minghia
SELECT CONVERT(datetime, convert(varchar,CAST([EventDate] AS DATE)) + ' ' + convert(varchar,CAST([InTime] AS TIME(3))))
Minghia
this
select CAST(convert(varchar, GETDATE(), 103) as DATETIME) + CAST( convert(varchar, GETDATE(), 108) AS TIME)
damn, late!
select CAST(convert(varchar, GETDATE(), 103) as DATETIME) + CAST( convert(varchar, GETDATE(), 108) AS TIME)
damn, late!
SELECT DATEADD(day, 0, DATEDIFF(day, 0, EventDate)) +
DATEADD(day, 0 - DATEDIFF(day, 0, InTime), InTime)
FROM TEST_DATE
perché convertire a varchar?
perchè per fare le prove, getdate() ha già l'orario dentro se non lo tolgo somma gli orari e sminchia
Grazie a tutti comunque
Che odio mssql, postgresql è molto meglio
Che odio mssql, postgresql è molto meglio
Si se magari non sei così pirla da fare due campi DateTime in cui uno c'è il Date e l'altro il Time...
E dire che è un db di un'azienda piuttosto grossa e diffusa!