2016-03-22 11 views
0

Verwenden von SQL Server 2008R2MSSQL Format Zeitformat Wert von bestimmten Spalte

Lets sagen, dass ich die folgende Abfrage mit dem Beispielwert als Ausgabe aus:

Abfrage:

select name, crdate 
from master.dbo.sysdatabases 

Ausgang:

master 2003-04-08 09:13:36.390 
tempdb 2016-03-17 19:47:41.990 
model 2003-04-08 09:13:36.390 
msdb 2010-04-02 17:35:08.970 

Wie kann ich die Ausgabeformate der Zeitwerte ändern?

Beispiel:

master 2003-04-08 09:13:36 

oder

master 04-08-2003 09:13 

Antwort

1

Sie verwenden können ...

select name,DATEADD(ms, -DATEPART(ms, crdate), crdate) 
from master.dbo.sysdatabases 

Oder eine andere Option ist: -

select name,CONVERT(DATETIME, CONVERT(VARCHAR(20), crdate, 120)) 
from master.dbo.sysdatabases 

Ich denke, das ist hilfreich.

+0

wenn richtig dann upvote ... –

-1

Here ist die Referenz für Arten Zeitumstellung. Another link für benutzerdefinierte Formate Dokumentation.

Beispiel für den zweiten Fall:

select name, FORMAT(crdate, 'MM-dd-yyyy HH:mm', 'en-US') AS 'crdate' from master.dbo.sysdatabases

+0

Warum dokumentieren Sie die Antwort nicht vollständig, damit Sie StackOverflow nicht verlassen müssen? – MrPowerUser

+0

Sie möchten, dass ich den Inhalt von einer SQL Server-Dokumentation kopiere, weil Sie nicht auf den Link klicken möchten? Ok: 'CONVERT (Daten_Typ [(Länge)], Ausdruck [, Stil])'. Sie müssen den entsprechenden 'Stil'-Wert verwenden, um den konvertierten Wert zu erhalten. – Michael

+0

Nicht, weil ich nicht klicken möchte, bestimmte Links bleiben nicht gültig, wäre eine Schande, wenn der Link in der Zukunft gestorben wäre. Außerdem bin ich ein totaler SQL-Neuling, also wäre eine Antwort mit einem _example_ wirklich großartig, nur einen Link zur Verfügung zu stellen, den ich ein paar Mal nachgeschlagen habe, hilft mir nicht wirklich. ;) – MrPowerUser