2

こんばんは。

6 か月 (学期または 2 ターム年) の期間をどのように計算できますか?

説明: MySQL DB に変換するスプレッドシートがあります。これには、関連する次の列CourseBegin、およびDurationがあります。Courseは、別のテーブルの情報と組み合わせてDurationを返す文字列フィールドです。Beginフィールドは、コースが開始された年-学期 (2010-2 は 2010 学期) です。期間は年数です。

フォーマット

表1

**Course**       **Begin**
Graduation 1     2010-1

テーブル2

 **Course**      **Duration**
 Graduation 1    4,5

2010-1 は 2010 年の最初の学期を意味し、4,5 (実際には 4.5 年 - 4 ドット 5 年) は 4 年半を意味し、2014-1 のような最終日を示します。残念ながら、フィールド形式は、変更するアクセス権がない別のデータベースからのものであり、データをインポートすることしかできません。

これはおそらく単純か、非常に単純か、そうでないかです。

[編集] 今が正しいことを願っています。[編集] これは最初の DB からインポートされ、計算されて別の DB にインポートされます。

4

1 に答える 1

1

MySQL には学期の標準サポートがないため、最初に月に変換する必要があります (四半期もサポートされていますが、日付に関しては月で作業する方が簡単です)。

これは、「2010-1」を「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 を掛けると、「開始」をシフトするのに必要な月数が得られます。

于 2012-08-31T19:18:51.970 に答える