mysql 查询 及时间格式化

列子:当前用户的排名

SELECT u.amount,u.rowNo,g.nickName,g.avatarUrl  FROM ( SELECT amount,uid,(@rowNum :=@rowNum + 1) AS rowNo FROM wxml_wdlmember,(SELECT(@rowNum := 0)) b  where wxml_wdlmember.gid=$id ORDER BY wxml_wdlmember.amount DESC ) u , wxml_gameauth g WHERE g.uid=u.uid and u.uid = $uid

--排名及号码

SELECT

    uid, tzcnt,amount, (@rowNum :=@rowNum + 1) AS rowNo FROM

    wxml_wdlmember,(SELECT(@rowNum := 0)) b WHERE gid=2

ORDER BY

    tzcnt DESC

 

SELECT `name`,`user`,b.userid FROM device_manage a LEFT JOIN device_members b ON b.username = a.`user` WHERE a.`status`=2(联合查询,以 a表为主,表b没有的字段为null)

SELECT `name`,`user`,b.userid FROM device_manage a, device_members b WHERE a.`status`=2 AND b.username = a.`user`(联合查询,a表的字段==表b.字段的数据)

 

列子:查询归还日期还有一天和已经到期的数据--device.uqee.com

SELECT

    a.`name`,

    a.`user`,

    (

       TO_DAYS(

           FROM_UNIXTIME(a.returntime)

       ) - TO_DAYS(NOW())

    ) AS day1,

    DATE_FORMAT(

       FROM_UNIXTIME(a.returntime),

       '%Y-%m-%d'

    ) AS date

FROM

    device_manage a

WHERE

    a.`status` = 2

AND (

    TO_DAYS(

       FROM_UNIXTIME(a.returntime)

    ) - TO_DAYS(NOW())

) <= 1

 

 

.时间处理

判断一个时间是否在一个区间内 

 

TO_DAYS函数 返回一个从年份0开始的天数 

SELECT TO_DAYS(‘1997-10-07′);  //参数datetime 类型  

 

datetime转换为时间戳:unix_timestamp(`lastLoginTime`)

 

unix_timestamp( time ) between unix_timestamp( 'start ') and unix_timestamp( 'end' ) 

时间戳转换成datetimeFROM_UNIXTIME(registerTime )

 

SELECT NOW(),CURDATE(),CURTIME()

 

NOW()

CURDATE()

CURTIME()

 

2016-08-01 16:25:46

2016-08-01

16:25:46

    
  1. date_sub('2016-08-01',interval 1 day) 表示 2016-07-31 - 前一天
    date_sub('2016-08-01',interval 0 day) 表示 2016-08-01 - 当天
    date_sub('2016-08-01',interval -1 day) 表示 2016-08-02 - 明天

 

  1. set @dt = now();  
  2. select date_add(@dt, interval 1 day);   - 加1天  
  3. select date_add(@dt, interval 1 hour);   -加1小时  
  4. select date_add(@dt, interval 1 minute);    - 加1分钟  
  5. select date_add(@dt, interval 1 second); -加1秒  
  6. select date_add(@dt, interval 1 microsecond);-加1毫秒  
  7. select date_add(@dt, interval 1 week);-加1周  
  8. select date_add(@dt, interval 1 month);-加1月  
  9. select date_add(@dt, interval 1 quarter);-加1季  
  10. select date_add(@dt, interval 1 year);-加1年  

 

 

mysql 时间戳格式化

SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') as nowdate,FROM_UNIXTIME('1530675408','%Y-%m-%d %H:%i:%s') as sdate,FROM_UNIXTIME(1530675676,'%Y-%m-%d %H:%i:%s') as sdate1

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值