Πώς να μετατρέψετε DateTime σε VarChar

Εργάζομαι σε ένα ερώτημα στον Sql Server 2005 όπου πρέπει να μετατρέψω μια τιμή στη μεταβλητή DateTime σε μια μεταβλητή varchar σε μορφή yyyy-mm-dd (χωρίς το χρονικό μέρος). Πώς μπορώ να το κάνω αυτό;

Δοκιμάστε τα εξής:

CONVERT(varchar(10), [MyDateTimecolumn], 20)

Για μια πλήρη ημερομηνία ώρα και όχι μόνο ημερομηνία κάντε:

CONVERT(varchar(23), [MyDateTimecolumn], 121)

Δείτε αυτή τη σελίδα για στυλ μετατροπής:

http://msdn.microsoft.com/en-us/library/ms187928.aspx OR Συνάρτηση CONVERT() του SQL Server

Σχόλια (0)

Είτε Cast είτε Convert:

Σύνταξη για CAST:

CAST ( expression AS data_type [ (length ) ])

Σύνταξη για CONVERT:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

http://msdn.microsoft.com/en-us/library/ms187928.aspx

Στην πραγματικότητα, αφού ζητήσατε μια συγκεκριμένη μορφή:

REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Σχόλια (0)

Δεν είπατε ποια βάση δεδομένων, αλλά με τη mysql υπάρχει ένας εύκολος τρόπος να λάβετε μια ημερομηνία από ένα timestamp (και η μετατροπή τύπου varchar θα πρέπει να γίνει αυτόματα):

mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16  | 
+-------------+
1 row in set (0.00 sec)
Σχόλια (1)