問題:
MySQLデータベースの日付/日時列から月を取得したい。
例:
私たちのデータベースには、apartment_rental id列にデータがあります 、address 、floor 、およびstart_date 。
| id | アドレス | フロア | start_date |
|---|---|---|---|
| 1 | 700オークストリート | 2 | 2019-03-20 |
| 2 | 295メインストリート | 3 | 2019-05-31 |
| 3 | 506州道 | 1 | 2019-01-03 |
| 4 | 3949ルート31 | 1 | 2019-02-01 |
利用可能なアパートごとに、住所、フロア、利用可能な月を取得します。 月のみを取得 start_dateから 列。
解決策:
MONTH()を使用します 働き。作成するクエリは次のとおりです。
SELECT address,
floor,
MONTH(start_date)
AS start_month
FROM apartment_rental;
クエリの結果は次のとおりです。
| アドレス | フロア | start_month |
|---|---|---|
| 700オークストリート | 2 | 3 |
| 295メインストリート | 3 | 5 |
| 506州道 | 1 | 1 |
| 3949ルート31 | 1 | 2 |
ディスカッション:
MONTH()を使用します MySQLのdate/datetime/timestamp列から月を取得する関数。この関数は、日付/日時/タイムスタンプ値を返す式または日付/日時/タイムスタンプ列の名前のいずれか1つの引数のみを取ります。 (この例では、start_dateを使用します 日付の列 データ型)。
MONTH() 月を1から12までの整数として返します(1は1月、12は12月)。この例では、 700 Oak Streetのアパート 開始日が'2019-03-20'であるため、3か月目に賃貸を開始します