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

MySQLのDATEDIFF()関数とは?使い方と仕組みをわかりやすく解説

MySQLのDATEDIFF()関数とは

MySQLのDATEDIFF()関数は、2つの日付の間の日数を返す関数です。内部的には「date1 − date2」を計算しており、最初の引数から2番目の引数を差し引いた日数が結果として得られます。

基本構文

DATEDIFF(date1, date2)

引数の順序に注意が必要です。date1とdate2を入れ替えると、結果の符号(プラス・マイナス)も反転します。

使用例

例えば、「2017-10-22」と「2017-09-21」という2つの日付の間の日数を調べたい場合は、次のようにDATEDIFF()関数を使用します。

mysql> Select DATEDIFF('2017-10-22','2017-09-21') AS 'NUMBER OF DAYS';

+----------------+
| NUMBER OF DAYS |
+----------------+
|             31 |
+----------------+
1 row in set (0.00 sec)

この例では、2017年9月21日から2017年10月22日までの期間が31日であるため、結果として「31」が返されています。

利用時の注意点

  • DATEDIFF()関数は日付部分のみを比較し、時刻(時間・分・秒)は計算に含まれません。
  • 引数に無効な日付やNULLが渡された場合、戻り値はNULLになります。
  • 時間差まで含めて計算したい場合は、TIMESTAMPDIFF()関数などの使用を検討するとよいでしょう。
  1. Google Voiceの仕組みとは?無料電話番号の取得方法と使い方を徹底解説

    Google Voiceは、1つの無料電話番号で複数の電話を同時に鳴らせるようにし、通信チャネルを統合できる電話サービスです。通常の電話番号と同じように機能し、着信時にはいくつかの対応方法から選択できます。Google VoiceはSkypeのようなVoIPサービスではありませんが、インターネット上のVoIP技術を活用することで、一部の通話をルーティングし、格安の国際電話や無料の市内通話を実現するとともに、数多くの便利な機能を提供しています。Google Voiceは電話番号を提供します。この番号を使えば、自宅の固定電話、スマートフォン、その他の電話など、好きな電話機に着信を転送できます。もう

  2. MySQLに数値をDECIMAL型(10進数)として保存・フォーマットする方法

    MySQLで数値を10進数として扱うには? MySQLでは、数値をわざわざ文字列としてフォーマットして保存する必要はありません。DECIMALデータ型を使えば、小数点以下の桁数を指定した正確な10進数としてそのまま格納できます。 例えば DECIMAL(10,2) と定義すると、整数部分が最大8桁、小数部分が2桁の数値を保存できます。小数第3位以下の値は自動的に丸められます。 1. テーブルを作成する まず、DECIMAL型のカラムを持つテーブルを作成しましょう。 mysql> create table DemoTable1330 -> ( -> Amount