2013-03-07 5 views

risposta

14

Uno dei modi più semplici per rimuovere millisecondi è:

SELECT CONVERT(VARCHAR, GETDATE(), 20) 

E se non volete includere millisecondi:

TIME(0) will help 

Esempio

CAST(DATEADD(second, SUM(hora), '00:00:00') AS time(0)) 
+0

Questo è venuto molto utile. Elegante ed efficace. –

+0

Questo è veramente efficace. Altre soluzioni che ho trovato, mostrano ancora le ultime 3 cifre come 000. –

0

Quello che ho fatto per risolvere questo per server MS SQL 2005 è

create table mytable (Date varchar(11)) 

insert into mydb.mytable select GETDATE() as Date; 

Questo taglia una parte del valore da GETDATE() fuori, subito dopo l'ultimo numero nella parte dell'anno. cioè "Jan 09 2014".

modifica: per essere chiari, varchar (11) è la soluzione qui.

modifica: questa soluzione fa schifo se si deve partecipare su mysql CURDATE(), perché mysql restituisce tutti gli interi mentre MSSQL Server ha il mese alfabetico.

0

Se si desidera solo restituire il tempo in sql server 2005 È possibile utilizzare una funzione di sottostringa con la conversione i.e. SELEZIONARE SUBSTRING (CONVERSO (VARCHAR, GETDATE(), 20), 12,8). Ciò restituirà l'ora nel formato hh: mm: ss.

Problemi correlati