ホームページ  >  記事  >  データベース  >  MySQL の日付と時刻: 処理および変換する方法

MySQL の日付と時刻: 処理および変換する方法

PHPz
PHPzオリジナル
2023-06-16 08:48:462078ブラウズ

MySql は、複数の日付と時刻の種類のデータ ストレージと操作をサポートする、一般的に使用されるリレーショナル データベース管理システムです。この記事では、MySql で日付と時刻のデータを加工および変換する方法を紹介します。

1. 日付と時刻の型

MySql は、DATE、TIME、DATETIME、TIMESTAMP などの複数の日付と時刻の型をサポートします。これらの型の具体的な定義は次のとおりです。

  1. DATE: 'YYYY-MM-DD' の形式で日付を表します。有効な範囲は「1000-01-01」から「9999-12-31」です。
  2. TIME: 時間を「HH:MM:SS」の形式で示します。有効な範囲は「-838:59:59」から「838:59:59」です。
  3. DATETIME: 日付と時刻を「YYYY-MM-DD HH:MM:SS」の形式で表します。有効な範囲は「1000-01-01 00:00:00」から「9999-12-31 23:59:59」です。
  4. TIMESTAMP: 日付と時刻を「YYYY-MM-DD HH:MM:SS」の形式で表します。有効な範囲は「1970-01-01 00:00:01」から「2038-01-19 03:14:07」です。

2. 日付と時刻の関数

MySql は、日付と時刻のデータを処理および変換するためのさまざまな日付と時刻の関数を提供します。一般的に使用される関数は次のとおりです。

  1. DATE_FORMAT(date,format): 日付を指定された形式にフォーマットします。たとえば、「2022-08-25」を「2022 年 8 月 25 日」として書式設定するには、ステートメント SELECT DATE_FORMAT('2022-08-25','%M %d, %Y') を使用できます。
  2. DATE_ADD(date,INTERVAL expr Unit): 指定された時間間隔を日付に加算します。たとえば、「2022-08-25」を 3 か月に追加するには、ステートメント SELECT DATE_ADD('2022-08-25', INTERVAL 3 MONTH) を使用できます。
  3. DATE_SUB(日付,INTERVAL expr Unit): 日付から指定された時間間隔を減算します。
  4. DATEDIFF(date1,date2): 2 つの日付間の日数の差を計算します。たとえば、「2022-08-01」と「2022-08-25」の日数の差を計算するには、次のステートメントを使用できます: SELECT DATEDIFF('2022-08-25','2022-08-01) ')。
  5. DAYOFWEEK(日付): 日付に対応する曜日を返します。たとえば、「2022-08-25」に対応する曜日を返すには、ステートメント SELECT DAYOFWEEK('2022-08-25') を使用できます。
  6. WEEK(date[,mode]): 日付の週番号を返します。 mode パラメータは週の開始日を指定するために使用され、0 (日曜日を示す) から 7 (土曜日を示す) までの値を指定できます。デフォルト値は 0 です。
  7. NOW(): 現在の日付と時刻を返します。
  8. TIMESTAMPDIFF(unit,start,end): 指定された単位で 2 つの日付間の時差を計算します。たとえば、「2022-01-01」と「2022-08-25」の間の月の差を計算するには、次のステートメントを使用できます: SELECT TIMESTAMPDIFF(MONTH,'2022-01-01','2022-08) -25')。
  9. FROM_UNIXTIME(unix_timestamp[,format]): Unix タイムスタンプを指定された日付と時刻の形式に変換します。たとえば、Unix タイムスタンプ 1234567890 を「YYYY-MM-DD HH:MM:SS」形式に変換するには、次のステートメントを使用できます: SELECT FROM_UNIXTIME(1234567890,'%Y-%m-%d %H:%i:) %s ')。

3. 日付と時刻の変換

MySql では、STR_TO_DATE 関数と DATE_FORMAT 関数を使用して日付と時刻を変換できます。 STR_TO_DATE は文字列を日付と時刻の型に変換でき、DATE_FORMAT は日付と時刻の型を文字列に変換できます。たとえば、文字列 '20220825' を日付型に変換するには、ステートメント SELECT STR_TO_DATE('20220825','%Y%m%d') を使用できます。

4. 注意事項

日時データを使用する場合は、次の点に注意する必要があります:

  1. 時刻の保存精度はデフォルトで秒です。また、テーブル定義によってデータを変更して精度を高めることができます。
  2. 日付と時刻の型は文字列の形式で比較および並べ替えられます。したがって、予期しないエラーを避けるために、形式の一貫性に注意を払う必要があります。
  3. 日付と時刻の計算を実行するときは、タイムゾーンや夏時間などの要因の影響を考慮する必要があります。

つまり、MySql での日付と時刻の処理と変換のスキルを習得すると、データの管理と分析をより効率的に行うことができます。

以上がMySQL の日付と時刻: 処理および変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。