Mysqlは当月のデータを検索します

3408 ワード

今日
select*fromテーブル名wheret to_days(タイムフィールド名)=to_days(now());
きのう
SELECT*FROM表名WHERE TO_DAYS( NOW( ) ) - TO_DAYS(タイムフィールド名)<=1
7日近く
SELECT*FROM表名where DATE_SUB(CURDATE()、INTERVAL 7 DAY)<=date(時間フィールド名)
30日近く
SELECT*FROM表名where DATE_SUB(CURDATE()、INTERVAL 30 DAY)<=date(時間フィールド名)
今月
SELECT*FROM表名WHERE DATE_FORMAT(タイムフィールド名,'%Y%m')=DATE_FORMAT( CURDATE( ) , '%Y%m' )
先月
SELECT*FROM表名WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) ,date_format(時間フィールド名,'%Y%m')=1
四半期のデータの照会
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(now());
前四半期のデータの照会
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
本年のデータの照会
select * from `ht_invoice_information` where YEAR(create_date)=YEAR(NOW());
前年データの照会
select * from `ht_invoice_information` where year(create_date)=year(date_sub(now(),interval 1 year));
現在の今週のデータを問い合わせる
SELECT name,submittime FROMenterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());
先週のデータの照会
SELECT name,submittime FROMenterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;
先月のデータの照会
 
select name,submittime fromenterprise where date_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
 
select * from user where DATE_FORMAT(pudate,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') ;
 
select * from user where WEEKOFYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = WEEKOFYEAR(now())
 
select * from user where MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now())
 
select * from user where YEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = YEAR(now()) and MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now()) 
select*from user where pudate between先月最終日and来月初日
 
現在の月のデータの照会
select name,submittime fromenterprise   wheredate_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')
現在の6ヶ月間のデータの問合せ
select name,submittime fromenterprise where submittime betweendate_sub(now(),interval 6 month) and now();
現在の日付タイプの問合せ
本年
SELECT DATE_FORMAT(NOW(), '%Y');
今月(数字)
SELECT DATE_FORMAT(NOW(), '%m');
今月(英語)
SELECT DATE_FORMAT(NOW(), '%M');
この日付(数値)
SELECT DATE_FORMAT(NOW(), '%d');
この日付(16 thなどの数字とアルファベットを表示)
SELECT DATE_FORMAT(NOW(), '%D');
現在時刻(11:54:23)
SELECT DATE_FORMAT(NOW(), '%T');
現在時刻(11:54:23)
select DATE_FORMAT(now(),'%Y-%m-%d %h:%i:%s') from dual;
次の修飾子はformat文字列で使用できます.
%M    (January……December)
%W     (Sunday……Saturday)
%D            (1st, 2nd, 3rd,   。)
%Y  ,   , 4  
%y  ,   , 2  
%a        (Sun……Sat)
%d       ,   (00……31)
%e       ,   (0……31)
%m  ,   (01……12)
%c  ,   (1……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 [AP]M)
%T   ,24   (hh:mm:ss)
%S  (00……59)
%s  (00……59)
%p AM PM
%w         (0=Sunday ……6=Saturday )
%U   (0……52),             
%u   (0……52),             
%%     “%”。