2010-03-06 8 views
42

Je veux convertir date & valeur de temps en varchar puis stocker dans la base de donnéesConvertir DateTime Valeur en chaîne dans Mysql

Je suis aller chercher la date actuelle & heure à l'aide NOW() dans une base MySQL et veulent maintenant convertir en chaîne parce que je dois fusionner cette valeur avec la valeur chaîne

Répondre

95

Utilisez DATE_FORMAT()

SELECT 
    DATE_FORMAT(NOW(), '%d %m %Y') AS your_date; 
36

C'est super vieux, mais je me suis dit que j'ajouter mon 2c. DATE_FORMAT ne revient en effet une chaîne, mais je cherchais la fonction CAST, dans la situation que j'avais déjà une chaîne datetime dans la base de données et nécessaires pour correspondance de motif contre:

http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

Dans ce cas, vous pouvez utiliser:

CAST(date_value AS char)

cela répond à une question légèrement différente, mais le titre de la question semble assez ambiguë que cela pourrait aider quelqu'un à la recherche.

+0

Le titre est très clair sur la question. Khilen voulait simplement convertir le champ date en chaîne. Votre réponse couvre la comparaison de deux chaînes de date qui ne sont pas la réponse pertinente. Down-voté la réponse. – KULKING

+10

En fait, @KULKING, j'ai comparé les deux dates en tant que chaînes de caractères, ce qui le rend spécifiquement applicable à la question posée. Le problème ici est la conversion de type, que ma réponse aborde, bien qu'avec une petite quantité d'arrière-plan de mon propre problème pour le contexte. – Chords

+2

+1 - une manière rapide et agréable d'obtenir une chaîne (p.s. Il y a parfois de la petitesse ici);) –

2

Essayez ceci:

concat(left(datefield,10),left(timefield,8)) 
  • 10 ombles sur le champ de date en fonction de la date complète yyyy-MM-dd.

  • Champ de temps de chargement de 8 caractères basé sur le temps plein hh:mm:ss.

Cela dépend du format que vous voulez. normalement, vous pouvez utiliser le script ci-dessus et vous pouvez concaténer un autre champ ou une chaîne comme vous le souhaitez. Parce que le champ de date et d'heure fonctionne en tant que chaîne si vous l'avez lu. Mais bien sûr, vous aurez une erreur lors de la mise à jour ou l'insérer.