2017-04-11 1 views
2

Est-ce que quelqu'un sait pourquoi la fonction JSON_OBJECT formate automatiquement les données TIME? Quand je fais ce qui suit:MySQL 5.7 JSON formate automatiquement l'heure

SELECT 
     JSON_OBJECT(
      'Time_Transformed', TIME('11:42:00') 
     ) AS myJson, 
     TIME('11:42:00') AS `Time_Raw` 

Le résultat est:

myJson: {"Time_Transformed": "11:42:00.000000"} 
Time_Raw: 11:42:00 
+0

Que voulez-vous réellement? Vous voulez savoir pourquoi cela se passe ou comment résoudre ce problème? –

+0

Je pense que cela peut répondre pourquoi il fait cela: http://stackoverflow.com/a/1488415/6530134 –

+0

@ TimothyG. ce n'est même pas MySQL. –

Répondre

0

MySQL reconnaît les valeurs TIME dans plusieurs formats.

Si vous souhaitez omettre la partie décimale, vous pouvez l'utiliser.

SELECT 
    JSON_OBJECT(
     'Time_Transformed', TIME_FORMAT(TIME('11:42:00'), '%H %i %s') 
    ) AS myJson 
+0

Existe-t-il un moyen d'empêcher MySQL de le faire en premier lieu? Je veux dire que le formatage ne se produit que lors de l'utilisation de JSON_OBJECT() – DataVader

+0

Je ne sais pas si c'est possible. Mais pourquoi n'utilisez-vous pas TIME_FORMAT() comme dans la réponse? –

+0

Parce que j'ai beaucoup de colonnes et de valeurs avec le type "TIME" et je ne veux pas chercher chacun de ces – DataVader