Ich arbeite an einer Abfrage in Sql Server 2005, bei der ich einen Wert in der Variable "DateTime" in eine "Varchar"-Variable im Format "yyyyy-mm-dd" (ohne Zeitanteil) konvertieren muss. Wie kann ich das tun?
Versuchen Sie das Folgende:
CONVERT(varchar(10), [MyDateTimecolumn], 20)
Für ein komplettes Datum Zeit und nicht nur Datum tun:
CONVERT(varchar(23), [MyDateTimecolumn], 121)
Siehe diese Seite für die Umwandlung von Stilen:
http://msdn.microsoft.com/en-us/library/ms187928.aspx ODER SQL Server CONVERT() Funktion
Entweder Cast
oder Convert
:
Syntax für "CAST":
CAST ( expression AS data_type [ (length ) ])
Syntax für CONVERT
:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
http://msdn.microsoft.com/en-us/library/ms187928.aspx
Da Sie nach einem bestimmten Format gefragt haben:
REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Sie haben nicht gesagt, welche Datenbank, aber mit mysql hier ist ein einfacher Weg, um ein Datum aus einem Zeitstempel zu erhalten (und die varchar Typ Konvertierung sollte automatisch geschehen):
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16 |
+-------------+
1 row in set (0.00 sec)