Comment changer MySQL format de date pour la base de données?
Nous utilisons une base de données MySQL avec FileMaker. Il semble que lorsque FileMaker est de lire les tables MySQL, il acceptera seulement les dates dans le format de m/d/y.
Est-il de toute façon je peux obtenir notre base de données MySQL pour modifier son format par défaut à m/d/y au lieu de AAAA-MM-JJ?
Je sais que je peux utiliser le DATE_FORMAT() la fonction de personne de requêtes SELECT, mais je veux voir si je peux juste changer la mise en forme par défaut.
- Ce type d'accès ne FileMaker besoin -- espérons juste en lecture seule? Raison pour laquelle je demande c'est que vous pourriez être en mesure d'utiliser une vue de fournir des données FileMaker qui vous permettra de spécifier le format de la date...
Vous devez vous connecter pour publier un commentaire.
Edit 1
Lecture un peu plus j'ai trouvé, vous pourrez modifier le format d'un champ spécifique mais il n'est pas recommandé.
vous ne pouvez pas modifier le format de stockage
vous pouvez définir ALLOW_INVALID_DATES et enregistrer les dates avec le format que vous souhaitez, mais je ne le recommande pas.
si votre terrain n'est pas indexé il n'y a pas de problème sur appel
DATE_FORMAT()
lorsque vous êtes à la sélection, la seule question est de savoir si vous avez besoin de faire un select pour que le champ dans lequel cas, l'index ne sera pas utilisé parce que vous êtes à l'appel de la fonction.SELECT ... FROM table WHERE DATE_FORMAT(myfield, '%d/%m/%y') = '16/12/2010'
dans ce cas, l'index ne sera pas utiliséL'astuce est de ne pas changer le format de base de données MySQL (il n'est pas stocké sous forme de chaîne de toute façon), mais de spécifier le format que vous voulez, quand vous interroger.
Ceci peut être réalisé en utilisant quelque chose comme ceci:
L'officiel de MySQL manuel pour c'est ici: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
Par la voie, hors-sujet, mais je me dois de le mentionner: j'ai toujours déconseillons l'utilisation de mm/jj/aaaa comme un format de date -- vous allez confondre quiconque de l'extérieur des états-unis; presque tous les autres pays dans le monde qui serait normalement l'utilisation jj/mm/aaaa. Mais ces deux formats sont ambigus - quelle date voulez-vous dire lorsque vous dites "12/05/2010"? probablement un autre, différent de moi, mais il est impossible de savoir réellement ce qui, autour de vous prévu.
Si vous avez l'intention d'utiliser l'une date pour l'affichage, j'ai toujours montrer les mois, un mot ou une abréviation, comme cela supprime toute ambiguïté. Pour l'entrée fins, utiliser un calendrier de contrôle afin d'éviter toute confusion possible.
Je ne pense pas que vous pouvez, voir l'Évolution de MySQL Format de Date.
Il y a des variables système appelé
date_format
etdatetime_format
qui semble prometteur, mais si vous essayez de les régler, vous obtiendrez une erreur, et le la documentation dire qu'ils sont "inutilisé".- Je utiliser une installation WAMP et, habituellement, il suffit de créer une colonne
INT(10)
et puis magasin mes dates comme ceci:Ce magasins
2013-11-22 12:45:09
comme un certain nombre comme1322111245
. Oui, elle peut être considérée comme "mauvaise", mais je n'ai pas de soins. Il fonctionne, et je peux facilement et format sur le client, de toutes les façons j'aime.Ce n'est évidemment pas suggéré si vous prévoyez d'exécuter les autres fonctions de date, mais pour moi, habituellement, je veux juste savoir l'enregistrement de la dernière mise à jour et de trier un ensemble de résultats par date.