2013-10-05 22 views
56

Come posso ottenere la data corrente in MS-SQL Server 2008 R2?Ottenere la data corrente in SQL Server?

Il formato della colonna nel mio database è DATETIME e le date vengono memorizzate nel seguente formato:

+++++++++++++ Vrdate ++++++++++ 
|        | 
| 2012-11-18 00:00:00.000 | 
| 2012-11-19 00:00:00.000 | 
| 2013-11-18 00:00:00.000 | 
| 2012-12-01 00:00:00.000 | 
| 2010-10-09 00:00:00.000 | 
| 2012-11-11 00:00:00.000 | 
|        | 
+++++++++++++++++++++++++++++++ 

ho cercato, ma non è stato in grado di trovare il modo per ottenere la data in questo formato (vale a dire a cui è associato il tempo in 00:00:00.00). Ho trovato la funzione GETDATE() ma che fornisce l'ora corrente insieme alla data, quello che voglio è ottenere la data nel seguente formato: CurrentDate 00:00:00.00

Come posso ottenere questo?

risposta

89
SELECT CAST(GETDATE() AS DATE) 

Restituisce la data corrente con la parte dell'ora rimossa.

DATETIME s non sono "memorizzati nel seguente formato". Sono memorizzati in un formato binario.

SELECT CAST(GETDATE() AS BINARY(8)) 

Il formato di visualizzazione nella domanda è indipendente dalla memoria.

La formattazione in un formato di visualizzazione particolare deve essere eseguita dall'applicazione.

+6

mi piacerebbe aggiungere che se OP vuole ottenere un risultato DATETIME con la parte TIME impostata su '00: 00: 00.000 ', allora può usare 'SELECT CAST (CAST (GETDATE() AS DATE) AS DATETIME)'. – LightBulb

+0

@KamranAhmed, in questo caso, desidero indicare all'utente [Riferimento funzione data e ora T-SQL] (http://technet.microsoft.com/en-us/library/ms186724 (v = sql.105) aspx). – LightBulb

+2

Aggiorna e riprova. Ho fatto un errore e in seguito l'ho cambiato in un link corretto. Perdonami per quello. – LightBulb

11

Poiché si utilizza SQL Server 2008, seguire la risposta di Martin.

Se vi trovate a dover farlo in SQL Server 2005 in cui non si ha accesso al tipo di colonna Date, userei:

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) 

SQLFiddle

Problemi correlati