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

MySQLでDATETIME型の値を合計秒数に変換する方法【UNIX_TIMESTAMP関数の使い方】

MySQLのDATETIME値を秒数に変換するには

MySQLでは、UNIX_TIMESTAMP() 関数を使うことで、DATETIME型の値(日時インスタンス)を合計秒数に簡単に変換できます。UNIX_TIMESTAMP関数は、指定された日時を「1970年1月1日 00:00:00 UTC」からの経過秒数(UNIXタイムスタンプ)として返します。

1. 特定の日時を秒数に変換する

以下のクエリでは、指定した日時「2017-05-15 04:05:30」を合計秒数に変換しています。

mysql> Select UNIX_TIMESTAMP('2017-05-15 04:05:30') AS 'NUMBER OF SECONDS';

+-------------------+
| NUMBER OF SECONDS |
+-------------------+
|         1494801330 |
+-------------------+
1 row in set (0.00 sec)

このように、UNIX_TIMESTAMP関数に日時の文字列を渡すだけで、その日時を表す合計秒数が取得できます。

2. 現在の日時を秒数に変換する

NOW() 関数と組み合わせれば、現在の日時を秒数に変換することも可能です。

mysql> Select UNIX_TIMESTAMP(NOW()) AS 'NUMBER OF SECONDS';

+-------------------+
| NUMBER OF SECONDS |
+-------------------+
|         1509248856 |
+-------------------+
1 row in set (0.00 sec)

上記のクエリを実行すると、実行時点の現在日時が合計秒数に変換されて返されます。

3. テーブルに保存された日時を秒数に変換する

テーブルのカラムに保存されているDATETIME型の値も、同じ方法で変換できます。以下の例では、テーブル「testing」内のカラム「StudentName」の値が「Gaurav」である行の日付カラム「Dateofreg」を秒数に変換しています。

mysql> Select UNIX_TIMESTAMP(Dateofreg) AS 'NUMBER OF SECONDS' from
        testing where StudentName = 'Gaurav';

+-------------------+
| NUMBER OF SECONDS |
+-------------------+
|         1509247113 |
+-------------------+
1 row in set (0.00 sec)

このように、UNIX_TIMESTAMP関数は文字列だけでなく、テーブルのカラム値に対しても使用できるため、データベース内の日時データを柔軟に秒数へ変換できます。

まとめ

MySQLでDATETIME型の値を合計秒数に変換するには、UNIX_TIMESTAMP() 関数を使用します。特定の日時の文字列、NOW() による現在日時、テーブルに保存された日時のいずれにも対応でき、日時の差分計算やソート処理など、さまざまな場面で活用できます。


  1. Pythonでインスタンスのクラス名を取得する方法をわかりやすく解説

    Pythonでは、__class__ 属性を使うことで、あるインスタンスがどのクラスから生成されたものかを簡単に確認できます。さらに __class__.__name__ を使えば、クラス名だけを文字列として取り出すことも可能です。以下に、具体的なコード例とその実行結果を示します。サンプルコードclass Number: def __init__(self, number): self.number = number n1 = Number(1) print(n1.__class__) print(n1.__class__.__name__)実行結果このコードを実行す

  2. Pythonでdatetime.now()から分・秒・ミリ秒を取得する方法

    Pythonでdatetime.now()から分・秒・ミリ秒を取得する方法Pythonでは、datetimeオブジェクトのstrftime()メソッドを使うことで、現在時刻を任意の形式に整形して取得できます。このメソッドは書式文字列(フォーマット指定子)を受け取り、指定したディレクティブに従って日付や時刻を文字列として出力します。以下に、strftimeで利用できる主な書式指定子の一覧をまとめました。指定子意味%aロケールにおける曜日の省略名(例: Mon)%Aロケールにおける曜日の正式名称(例: Monday)%bロケールにおける月の省略名(例: Jan)%Bロケールにおける月の正式名称(例