Si j'ai une date telle que mm/jj/aaaa. Comment puis-je obtenir mysql pour stocker la date dans ce format. Est-ce possible ou faut-il le stocker sous la forme aaaa/mm/jj et le convertir plus tard? Ce que je veux faire est d'insérer une date au format mm/jj/aaaa mais la base de données ne le permettra pas. Il veut yyyy/mm/ddcomment stocker une date dans une base de données mysql?
Répondre
Quelle est votre raison pour cela? Je ne vois pas d'utilisation raisonnable pour cela.
Vous ne pouvez pas changer la façon dont MySQL stocke les dates, non. Mais vous pouvez bien sûr les formater en les lisant/en les écrivant. Vous pouvez le faire dans la requête SQL comme ceci:
Par exemple, vous pouvez utiliser la fonction STR_TO_DATE
pour formater la date lors de l'insertion:
INSERT INTO mytable (mydate) VALUES (STR_TO_DATE('12/31/2009', '%m/%d/%Y'))
Et vice versa:
SELECT DATE_FORMAT(mydate, '%m/%d/%Y') FROM mytable /* returns 12/31/2009 */
Mais comme FactalizeR a souligné, ce n'est pas une bonne pratique de le faire dans la requête et il devrait être déplacé vers le script, comme ceci (en considérant que vous utilisez PHP).
$date = '12/31/2009';
$date = date('Y-m-d', strtotime($date));
mysql_query("INSERT INTO mytable (mydate) VALUES ({$date})");
Et vice versa
$date = mysql_result(mysql_query("SELECT mydate FROM mytable"), 0, 0);
$date = date('m/d/Y', strtotime($date)); //returns 12/31/2009
Il existe un type DATE intégré dans MySQL. Cela permet de stocker une date. Et plus tard dans votre langage de programmation, vous extrayez cette date et la convertissez au format que vous voulez. En outre, la conversion peut être effectuée directement dans MySQL via la fonction DATE_FORMAT (date, format).
Salut, merci. Parlez-vous du type de données? Je suis conscient de cela, mais il prend le format yymmdd. Je veux stocker la date dans l'ordre inverse. –
Puis-je également utiliser date_format pour les insertions? Si je peux, je suis doré. –
Il existe une fonction DATE_FORMAT (date, format) pour formater la date comme vous le souhaitez –
Je vous recommande d'utiliser varchar pour votre format, mais notez que le tri serait difficile car votre date ne commence pas par un an. optez pour le format de date mysql AAAA-MM-JJ une conversion en JJ/MM/AAAA dans votre script.
Les champs MySQL DATE doivent stocker la date au format AAAA-MM-JJ (y compris les tirets). Si vous essayez de le stocker d'une autre manière, vous aurez des problèmes avec les comparaisons de dates et la commande.
La conversion ultérieure est une tâche triviale. Y at-il une raison impérieuse pour laquelle vous essayez d'éviter cela? Quelle autre technologie utilisez-vous pour parler à la base de données MySQL? (c'est-à-dire PHP, C# etc ...)
Je pense que vous vous mélangez ce que vous stockez - la date elle-même - la façon dont cette date est ensuite appelée.
Pourquoi voulez-vous stocker dans un format particulier? Voulez-vous insérer dans ce format? Dans ce cas, vous pourrez peut-être vous en sortir, en fonction de la localisation de votre installation, mais sinon convertir - insert serait le moyen de le faire (en fonction, bien sûr, de la façon dont vous insérez).
Créez-vous une commande SQL à partir de chaînes?
- 1. Comment puis-je stocker une date dans une base de données MySQL en utilisant PHP?
- 2. Comment stocker des données modifiées dans une base de données?
- 3. Comment puis-je stocker une image dans une base de données MySQL en utilisant VB.NET?
- 4. Comment stocker l'index lucene dans une base de données?
- 5. Comment stocker un BLOB dans une base de données?
- 6. Comment archiver une base de données MySQL?
- 7. Comment stocker un vecteur de données de temps/valeur dans une base de données
- 8. Comment supprimer une base de données MySQL?
- 9. Comment stocker des caractères Hmong dans une base de données MySQL
- 10. Je souhaite comparer la date actuelle de mon serveur avec une date stockée dans une base de données mySQL
- 11. php stocker dans la base de données tamil php mysql
- 12. Créer une base de données avec un emplacement de données spécifique dans MySQL pour une base de données
- 13. Insérer un tuple python dans une base de données MySQL
- 14. MySQL: Comment demander une date plus grande qu'aujourd'hui lorsqu'une date est dans une chaîne
- 15. résultat Regroupement par date dans une base MySQL
- 16. Comment puis-je utiliser une procédure stockée dans une base de données MySQL avec Zend Framework?
- 17. Comment puis-je stocker une chaîne dans une base de données sqlite3 sur iPhone OS?
- 18. Comment stocker l'objet de données table ruport dans une base de données?
- 19. Comptage de plusieurs entrées dans une base de données MySQL?
- 20. Étant donné une date, comment obtenir la date suivante et précédente dans la base de données
- 21. Comment stocker "wishlist" dans la base de données?
- 22. stocker des données binaires dans mysql
- 23. Comment créer et stocker des champs personnalisés définis par l'utilisateur dans une base de données SQL?
- 24. Comment convertir une base de données MySQL en XML?
- 25. Configuration de base de données MySQL dans une classe séparée
- 26. Comment comparer une date de mysql avec la date actuelle et envoyer une notification email
- 27. Comment utiliser la date actuelle dans une requête HQL avec une base de données Oracle?
- 28. de caractères dans une base MySQL
- 29. Comment activer STRICT_ALL_TABLES 'pour une seule base de données MySQL?
- 30. comment je grep à travers une base de données mysql?
La mise en forme des données dans les requêtes SQL doit être considérée comme une mauvaise pratique et doit être déplacée dans le script. –