MySQLコマンドやSQL文に関する各種メモ書き:タグ「日付」での検索

MySQLでx分、x日前のデータを取得する( INTERVAL )

MySQLで カラム「modified_date」が「現在時刻より 5分前以前に更新された」データを取得するには

SELECT
	*
FROM
	テーブル名
WHERE
	modified_date < CURRENT_TIMESTAMP + INTERVAL - 5 MINUTE ;

MINUTEのところは以下の文字が使用できます。

YEAR
MONTH
DAY
-----
WEEK
-----
HOUR
MINUTE
SECOND
-----
MICROSECOND(マイクロ秒)
No.981
01/01 15:11

edit

日付

MySQLで日付データをSELECT時に年・月・日に分解する【DATE_FORMAT】

SELECT時に日付カラム( 2007-01-23 12:30:59 )を年・月・日に分解して取得すると便利です。

SELECT
	DATE_FORMAT(CurDate(),'%Y') as year ,
	DATE_FORMAT(CurDate(),'%m') as month ,
	DATE_FORMAT(CurDate(),'%d') as day
DATE_FORMAT のオプション(指定子)は以下の通り

指定子	説明
%M	月の名前(January..December)。
%W	曜日名(Sunday..Saturday)。
%D	英語のサフィックス付きの日付(0th、1st、2nd、3rd など)。
%Y	4 桁の数値で表した年。
%y	2 桁の数値で表した年。
%X	日曜日を週の最初の日とした場合の週に使用する、4 桁の数値で表した年。%V と組み合わせて使用。
%x	月曜日を週の最初の日とした場合の週に使用する、4 桁の数値で表した年。%v と組み合わせて使用。
%a	略式の曜日名(Sun..Sat)。
%d	数値で表した日付(00..31)。
%e	数値で表した日付(0..31)。
%m	数値で表した月(00..12)。
%c	数値で表した月(0..12)。
%b	略式の月名(Jan..Dec)。
%j	年間を通した日にち(001..366)。
%H	時(00..23)。
%k	時(0..23)。
%h	時(01..12)。
%I	時(01..12)。
%l	時(1..12)。
%i	数値で表した分(00..59)。
%r	12 時間形式の時刻(hh:mm:ss に続けて AM または PM)。
%T	24 時間形式の時刻(hh:mm:ss)。
%S	秒(00..59)。
%s	秒(00..59)。
%f	マイクロ秒(000000..999999)。
%p	AM または PM
%w	曜日(0=Sunday..6=Saturday)。
%U	日曜日を週の最初の日とした場合の週(00..53)。
%u	月曜日を週の最初の日とした場合の週(00..53)。
%V	日曜日を週の最初の日とした場合の週(01..53)。%X と組み合わせて使用。
%v	月曜日を週の最初の日とした場合の週(01..53)。%x と組み合わせて使用。
%%	リテラルの ‘%’。
その他の文字はいずれも、解釈されずにそのまま結果にコピーされる。

参考:http://blog.tofu-kun.org/070620123532.php

No.552
03/26 14:32

edit

日付

日付を指定してデータをSELECTする

日付を指定してデータをSELECTするには以下のように WHERE句において不等号で指定する。

例1:2016年9月8日の00:00 より前(昔)のデータを選択する

SELECT 
  test_id,
  test_name,
  test_date 
FROM
  test_dt
WHERE
  search_date < '2016-09-08';

例2:2016年9月1日〜9月4日のデータを選択する

SELECT 
  test_id,
  test_name,
  test_date 
FROM
  test_dt
WHERE
  search_date BETWEEN '2016-09-01' AND '2006-09-05' ;

例3:今より5日以上前(昔)のデータを選択する

SELECT 
  test_id,
  test_name,
  test_date 
FROM
  test_dt
WHERE
  search_date < DATE_SUB( CURDATE(),INTERVAL 5 DAY )

5日後の場合は DATE_ADD()を使用する


No.317
11/17 20:43

edit

日付