我是MySQL和db的新手。
我有一张表格,其中date_of_test
和test_frequency
(可能的值3,6,12)。
我需要一个字段future_test
,其中的计算日期派生自date_of_test
,test_frequency
中的值为3,6,12(月)。< / p>
我不知道如何实现这一点,有人能指出我正确的方向吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
alter table gypsum add column future_test (datetime);
update gypsum
set future_test = date_add(date_of_test, interval test_frequency MONTH);
正如评论中所指出的,在数据库中计算值通常不是一个好主意。
每次更新date_or_test,test_frequency或每次插入新值时,都必须重新启动计算...
创建专用视图可能更好
CREATE OR REPLACE VIEW gypsumWithFuture AS
(SELECT
id,
date_of_test,
test_frequency,
DATE_ADD(date_of_test, interval test_frequency MONTH) AS future_test
FROM gypsum)
或在您的应用程序代码中进行计算(如果有的话)。各种各样的langagues都有DateTime函数,它可以和MySQL DATE_ADD一样。