赞
踩
我有三列:日期列,整数列和varchar列,如下所示:
+------------+------+---------+
| date |value | unit |
+------------+------+---------+
| 2009-01-01 | 2 | DAY |
| 2009-02-01 | 3 | MONTH |
+------------+------+---------+
我想使用mysql date_add()函数中的整数和varchar列的值作为“日期”列中的日期的“INTVERAL”表达式的一部分。
例如:
date_add(2009-01-01,INTERVAL 2 DAY),所以’2009-01-01’来自’date’列,’2’来自“value”/ integer列,“DAY”是从’unit’/ varchar列。
而选择将如下所示:
select date_add(table.date_column, INTERVAL table.integer_column table.varchar_column) from table
问题是:它不行。日期和整数列工作,所以这样可以:
select date_add(table.date_column, INTERVAL table.integer_column DAY) from table
但是一旦我尝试用列中的字符串值替换“DAY”关键字,我会收到一条错误消息。
有任何想法吗?
我想更普遍的问题是:
如何使用动态检索的值作为常量/键表达式?在mysql中有一种“eval”功能吗?
现在这个问题已经很麻烦了,任何帮助都会真的很棒。
击败
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。