mysql時間変換

WBOY
WBOYオリジナル
2023-05-08 10:59:378802ブラウズ

MySQL における時刻変換とは、日付からタイムスタンプへの変換、タイムスタンプから日付への変換など、異なる形式の時刻データを相互に変換するプロセスを指します。時刻を正しく変換すると、データベース内の時刻データの管理と使用が容易になります。次に、さまざまな時刻形式から始めて、MySQL で一般的に使用される時刻変換方法を紹介します。

  1. 日付をタイムスタンプに変換する

MySQL では、UNIX_TIMESTAMP 関数を使用して日付をタイムスタンプに変換できます。 UNIX_TIMESTAMP 関数の構文は次のとおりです。

UNIX_TIMESTAMP(date)

このうち、date は正当な日付式であり、日付型の列名、文字列型の日付、または日付型の変数を指定できます。

SELECT UNIX_TIMESTAMP('2022-07-01 00:00:00');

SELECT UNIX_TIMESTAMP(NOW());

SELECT UNIX_TIMESTAMP(date_column) FROM table_name;

上の例では、最初の SELECT ステートメントは日付文字列 '2022-07-01 00:00:00' をタイムスタンプに変換し、2 番目の SELECT ステートメントは現在の時刻を変換します。 to timestamp; 3 番目の SELECT ステートメントは、テーブル内の日付列をタイムスタンプに変換します。 UNIX_TIMESTAMP 関数は第 2 レベルのタイムスタンプを返すことに注意してください。ミリ秒レベルのタイムスタンプが必要な場合は、UNIX_TIMESTAMP*1000 関数を使用できます。

  1. タイムスタンプを日付に変換する

同様に、MySQL では、FROM_UNIXTIME 関数を使用してタイムスタンプを日付に変換できます。 FROM_UNIXTIME 関数の構文は次のとおりです:

FROM_UNIXTIME(unix_timestamp, format)

このうち、unix_timestamp は変換対象のタイムスタンプで、数値または日付列名を指定でき、format は日付の書式設定文字列です。たとえば、タイムスタンプを「yyyy-mm-dd hh:mm:ss」形式の日付に変換するには、次のステートメントを使用できます:

SELECT FROM_UNIXTIME(1625041238, '%Y-%m-%d %H:%i:%s');

このステートメントは 2021-06-30 11 を返します。 :53:58、形式文字列内の個々のプレースホルダーも自由に調整できます。一般的に使用される書式設定文字の一部を次に示します。

# #%Y4 桁の年 (例: 2022) %m2 桁の月 (例: 01 または 12) ) %d 2 桁の日付 (例: 01 または 31) %H2 桁の時 (例: 00 または 23)%i2 桁の分 (例: 00 または 59)%s2 桁の秒 (例: 00 または 59) %fマイクロ秒 (000000) ~ 999999) #%W 週 (例: 日曜日から土曜日まで) ##%a%b%pAM または PM (大文字)日付文字列を日付に変換します
#書式設定文字 #意味
週の短縮名 (例: Sun ~ Sat)
月の短縮名 (例: Jan ~ Dec)
  1. 日付データを保存する場合、文字列形式で保存することが多いですが、日付操作を行う必要がある場合は、文字列を日付型に変換する必要があります。 MySQL では、STR_TO_DATE 関数を使用して文字列を日付に変換できます。 STR_TO_DATE 関数の構文は次のとおりです。
  2. STR_TO_DATE(str, format)
このうち、str は変換対象の文字列、format は日付の書式設定文字列です。たとえば、文字列「2022-07-01」を日付型に変換するには、次のステートメントを使用できます:

SELECT STR_TO_DATE('2022-07-01', '%Y-%m-%d');
このステートメントは、日付の形式でデータを返します: 2022-07-01。

日付を文字列に変換する

  1. 同様に、MySQL では、DATE_FORMAT 関数を使用して日付を文字列に変換できます。 DATE_FORMAT 関数の構文は次のとおりです:
  2. DATE_FORMAT(date, format)
このうち、date は変換する日付であり、日付列名または変数、または文字列形式の日付を指定できます。フォーマットは次のとおりです。日付文字列の書式設定文字。たとえば、日付を「yyyy-mm-dd」形式の文字列に変換するには、次のステートメントを使用できます。

SELECT DATE_FORMAT('2022-07-01', '%Y-%m-%d');
このステートメントは、「2022-07-01」という文字列形式を返します。 。

要約すると、MySQL での時刻変換は主に、日付からタイムスタンプへの変換、タイムスタンプから日付への変換、日付文字列から日付への変換、および日付から文字列への変換の 4 つの側面をカバーします。時刻を正しく変換すると、データベース内の時刻データの管理と使用が容易になります。

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

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