web-dev-qa-db-fra.com

Convertir la valeur datetime en chaîne

Je récupère la date et l'heure actuelles en utilisant NOW () dans mysql. Je veux convertir la valeur de la date en varchar et la concaténer avec une autre chaîne. Comment fait-on ça?

67
Khilen

Utilisez DATE_FORMAT ()

SELECT
  DATE_FORMAT(NOW(), '%d %m %Y') AS your_date;
130
Frank Heikens

C'est super vieux, mais je me suis dit que j'ajouterais mon 2c. DATE_FORMAT Renvoie effectivement une chaîne, mais je cherchais la fonction CAST, dans la situation où j'avais déjà une chaîne datetime dans la base de données et que je devais faire correspondre celle-ci à un modèle:

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

Dans ce cas, vous utiliseriez:

CAST(date_value AS char)

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

53
Chords

Essaye ça:

concat(left(datefield,10),left(timefield,8))
  • 10 caractères sur le champ de date basé sur la date complète yyyy-MM-dd.

  • Champ de 8 caractères en fonction du temps complet hh:mm:ss.

Cela dépend du format que vous voulez. normalement, vous pouvez utiliser le script ci-dessus et concattre un autre champ ou une autre chaîne comme vous le souhaitez.

Parce qu'en réalité, les champs de date et d’heure forment une chaîne si vous le lisez. Mais bien sûr, vous obtiendrez une erreur lors de la mise à jour ou de l'insertion.

2
PROJECT D - DSS