MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

【MySQL入門】DATE_FORMAT()関数で使える時刻フォーマット指定子の一覧

MySQL DATE_FORMAT()関数の時刻フォーマット指定子とは

MySQLのDATE_FORMAT()関数を使用すると、日付や時刻のデータを任意の形式の文字列として整形して表示できます。この関数では、フォーマット文字列の中に「%」で始まる指定子(フォーマット文字)を組み込むことで、時・分・秒などの各要素を出力形式に変換します。

ここでは、DATE_FORMAT()関数でよく使用される主な時刻関連のフォーマット指定子と、それぞれの意味を一覧表にまとめて紹介します。

時刻フォーマット指定子の一覧

フォーマット文字意味
%H24時間制の「時」を2桁で表示します(例:00、01、02 ~ 23)。
%h12時間制の「時」を2桁で表示します(例:01、02 ~ 12)。
%i「分」を2桁で表示します(例:00、01、02 ~ 59)。
%l12時間制の「時」を、先頭のゼロなしで表示します(例:0、1、2 ~ 12)。
%p午前・午後を表す「AM」または「PM」を表示します。
%r12時間制の時刻を「hh:mm:ss AM/PM」の形式で表示します。
%s「秒」を2桁で表示します(例:00、01、02 ~ 59)。
%T24時間制の時刻を「hh:mm:ss」の形式で表示します。
%fマイクロ秒を000000~999999の範囲の6桁で表示します。

使用例

実際にDATE_FORMAT()関数を使って時刻を整形する例を見てみましょう。

SELECT DATE_FORMAT('2024-05-10 14:30:45', '%H:%i:%s');
-- 結果:14:30:45

SELECT DATE_FORMAT('2024-05-10 14:30:45', '%r');
-- 結果:02:30:45 PM

このように、フォーマット指定子を組み合わせることで、24時間制・12時間制など、目的に応じた柔軟な時刻表示が可能になります。ログの出力やレポート作成など、日時を見やすい形に整えたい場面でぜひ活用してください。

  1. MySQLでCHAR()関数の逆の処理を行う方法|ASCII()とORD()の違いを解説

    MySQLにおいて、CHAR()関数の逆の働きをするのは ASCII() 関数と ORD() 関数です。CHAR() は数値(文字コード)を文字に変換する関数ですが、ASCII() は引数の文字列の左端の文字に対応する数値(ASCIIコード)を返し、ORD() は左端の文字の文字コードを返します。 ASCII()とORD()の違い どちらも文字から数値への変換を行う点は共通していますが、以下のような違いがあります。 ASCII():シングルバイト文字専用。マルチバイト文字を渡すと警告が出て64を返します。 ORD():マルチバイト文字にも対応しており、最初のバイトの値に基づいて計算された文字

  2. C言語の書式指定子とは?主な形式指定子の一覧と使い方を解説

    書式指定子(フォーマット指定子)は、C言語における入出力(I/O)操作で使用される重要な要素です。書式指定子を利用することで、コンパイラは入出力操作で扱うデータの型を正しく認識できるようになります。書式指定子に影響を与える要素書式指定子の動作には、以下の3つの要素が影響します。マイナス記号(-):出力を左詰めにします。%の後ろの数字:最小フィールド幅を指定します。文字列がその幅に満たない場合は、空白で埋められます。ピリオド(.):フィールド幅と精度を区切るために使用します。主な書式指定子の一覧C言語でよく使用される書式指定子の一覧を、以下の表にまとめました。指定子用途%c1文字(単一の文字)%