J'ai trois colonnes: une colonne de date, une colonne entière, et une colonne varchar comme ceci:Comment utiliser une valeur de chaîne/colonne comme constante d'intervalle de date mysql (DAY, MONTH ...)?
+------------+------+---------+
| date |value | unit |
+------------+------+---------+
| 2009-01-01 | 2 | DAY |
| 2009-02-01 | 3 | MONTH |
+------------+------+---------+
Je veux utiliser les valeurs de l'entier et la colonne varchar dans une fonction date_add mysql() comme partie de l'expression "INTVERAL", ajoutée à la date dans la colonne "date".
Par exemple: date_add (2009-01-01, INTERVALLE JOUR), de sorte que le '2009-01-01' est de la colonne 'date', le '2' est dans la colonne "value"/integer et "DAY" dans la colonne "unit"/varchar.
Et la sélection ressemblerait à ceci:
select date_add(table.date_column, INTERVAL table.integer_column table.varchar_column) from table
Le problème est: il ne fonctionne pas. La date et le travail de la colonne entière, donc c'est ok:
select date_add(table.date_column, INTERVAL table.integer_column DAY) from table
mais dès que j'essaie de remplacer le « JOUR » Mot-clé avec une valeur de chaîne à partir d'une colonne, je reçois un message d'erreur.
Une idée?
Je suppose que, plus généralement, le problème est:
Comment puis-je utiliser des valeurs constantes automatiquement récupérées comme/expressions clés? Existe-t-il une sorte de fonction "eval" dans mysql?
Ce problème m'inquiète depuis longtemps maintenant, toute aide serait vraiment géniale.
beat
Testé ceci et cela ne fonctionne pas. – stldoug