晚上好。
如何计算6个月(学期或两学期)的学期?
解释: 有一个电子表格,我将转换为MySQL数据库,其中包含以下相关列课程,开始和持续时间。 课程是一个字符串字段,与另一个表中的信息相结合,返回持续时间。 开始字段是该课程开始的一年学期(如2010-2是二千一百学期)。持续时间是年数。
格式
表1
**Course** **Begin**
Graduation 1 2010-1
表2
**Course** **Duration**
Graduation 1 4,5
2010-1意味着2010年第一学期和4,5(实际为4。5年 - 四点五年)意味着四年半,这给出了像2014-1这样的最终日期。 遗憾的是,字段格式来自另一个我无法更改的数据库,我只能导入数据。
这可能很简单,也可能非常简单。
[编辑] 我希望现在是正确的。 [编辑] 这将从第一个DB导入,计算并导入到另一个DB。
答案 0 :(得分:1)
MySQL没有对学期的标准支持,因此您必须先转换为月份(也支持季度,但在日期工作数月会更容易)。
这意味着您需要将“2010-01-01”替换为“2010-01-01”,将“2010-2”替换为“2010-07-01”。这可以通过REPLACE($begin, '-1', '-01-01')
和REPLACE($begin, '-2', '-07-01')
完成。
对于每个学期,您可以添加6个月:DATE_ADD('2010-01-01', INTERVAL 6 MONTH)
将返回“2010-07-01”。将“持续时间”乘以12,这将给出“开始”所需的月数。