ホームページ  >  記事  >  データベース  >  mysqlの日付変換

mysqlの日付変換

WBOY
WBOYオリジナル
2023-05-12 10:38:0715961ブラウズ

MySQL データベースを使用すると、データの統計、分析、表示によく使用される日付の処理と変換が実行されます。したがって、開発者とデータベース管理者が MySQL の日付変換方法に習熟することは非常に重要です。

MySQL は、日付と時刻をさまざまな形式や文字列に簡単に変換できる豊富な日付関数と構文を提供します。この記事では、MySQL の日付変換の構文と例に焦点を当て、いくつかの一般的なアプリケーション シナリオとテクニックを提供します。

日付形式

MySQL では、日付と時刻はデフォルトの形式で保存されます。デフォルトの日付形式は YYYY-MM-DD で、時刻形式は HH:MM:SS です。 DATE_FORMAT() 関数を使用すると、日付と時刻をさまざまな形式の文字列に変換できます。

次の表に、MySQL の日付形式オプションを示します。

#%Y4 桁の年 #%y%m%c%d#%e日付、先頭にゼロなし %H 時間 (00 ~ 23) %h 時間 (01 ~ 12)%i2 桁の分%stwo 秒数 (桁数)%p「午前」または「午後」%W週の完全な名前%a週の略称%MM 月の氏名月の略称##%j年間日数 (0 -366)%U1 年の週数 (日曜日から)
Format (形式) Description
2 桁の年
2 桁の月
2 桁の月、先頭にゼロを付ける
2 桁の日
#%b
#%u 週数その年 (月曜日から)
%XX その年の完全な番号。日曜日の場合は新しい日になります。 年の最初の日、新しい年は前年の最後の土曜日に始まります
%V 今週の場合は、年の週数 (月曜日から数えます)が来年の一部である場合、今週は新年の最初の週としてカウントされます。

日付関数

MySQL には、フォーマット変換、クエリ、日付と時刻の計算に使用できる多くの日付関数が用意されています。以下に、いくつかの一般的な日付関数とその説明を示します。

  1. NOW()

NOW() 関数は、現在の日付と時刻を返します。データ テーブルのフィールドにタイムスタンプを追加するために使用できます。

構文:

SELECT NOW();

結果:

2022-01-01 16:12:07
  1. DATE_FORMAT()

DATE_FORMAT() 関数は、日付と時刻を次のように変換できます。指定された形式。

構文:

SELECT DATE_FORMAT(date,format);

例:

SELECT DATE_FORMAT('2022-01-01 16:25:30','%m/%d/%Y %h:%i:%s %p');

結果:

01/01/2022 04:25:30 PM
  1. DATE()

DATE( ) 関数は、日付値の日付部分を返します。

構文:

SELECT DATE(date);

例:

SELECT DATE('2022-01-01 16:30:00');

結果:

2022-01-01
  1. DAY()

DAY( ) 関数は、指定された日付の日付部分の日数を返します。

構文:

SELECT DAY(date);

例:

SELECT DAY('2022-01-01 16:30:00');

結果:

01
  1. MONTH()

MONTH( ) 関数は、指定された日付の月を返します。

構文:

SELECT MONTH(date);

例:

SELECT MONTH('2022-01-01 16:30:00');

結果:

01
  1. YEAR()

YEAR( ) 関数は、指定された日付の年を返します。

構文:

SELECT YEAR(date);

例:

SELECT YEAR('2022-01-01 16:30:00');

結果:

2022
  1. DATE_ADD()

DATE_ADD( ) 関数は、日付と時刻の値を追加するために使用されます。

構文:

SELECT DATE_ADD(date, INTERVAL value unit);

例:

SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH);

結果:

2022-02-01
  1. DATE_DIFF()

DATEDIFF( ) 関数は、2 つの日付の間の日数を計算します。

構文:

SELECT DATEDIFF(date1,date2);

例:

SELECT DATEDIFF('2022-01-01','2021-12-31');

結果:

1
  1. STR_TO_DATE()

STR_TO_DATE( ) 関数は文字列を日付形式に変換します。

構文:

SELECT STR_TO_DATE(str, format);

例:

SELECT STR_TO_DATE('20220101','%Y%m%d');

結果:

2022-01-01
  1. TIME()

TIME( ) 関数は、日付/時刻値の時刻部分を返します。

構文:

SELECT TIME(datetime);

例:

SELECT TIME('2022-01-01 16:45:30');

結果:

16:45:30

日付変換スキル

MySQL の日付の構文と関数をマスターする変換は非常に重要ですが、実際のプロジェクトでは柔軟に使用する必要があります。一般的な日付変換テクニックをいくつか紹介します。

  1. 2 つの日付の差を計算する

MySQL では、DATE_DIFF()、DATEDIFF()、TO_DAYS() などの関数を使用して 2 つの日付の差を計算できます。間の違いを日付します。たとえば、2 つの日付間の日数を計算します:

SELECT DATEDIFF('2022-01-02','2021-12-31') AS days;

結果:

2
  1. タイムスタンプを日付形式に変換します

データベース内の場合フィールドタイムスタンプとして保存され、FROM_UNIXTIME() 関数を使用して日付形式に変換できます。

SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp),'%Y-%m-%d %H:%i:%s') AS date FROM tableName;
  1. 日付形式をタイムスタンプに変換する

MySQL の日付形式を UNIX タイムスタンプに変換する必要がある場合は、クエリ ステートメントで UNIX_TIMESTAMP() 関数を使用できます。 。

SELECT UNIX_TIMESTAMP('2022-01-01 17:00:00') AS timestamp;

結果:

1641054000
  1. 現在の月と年を表示

DATE_FORMAT() 関数を使用すると、現在の月と年を簡単に表示できます。

SELECT DATE_FORMAT(NOW(),'%Y年%m月') AS month;

結果:

2022年01月

概要

MySQL の日付変換は、開発者とデータベース管理者にとって非常に重要です。この記事では、一般的な日付関数と構文、およびいくつかの一般的なアプリケーション シナリオとテクニックを紹介します。実際のプロジェクトでは、最適な日付形式と効果を実現するために、特定の状況に応じて柔軟に使用する必要があります。

以上がmysqlの日付変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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