oracle 中使用to_char和to_date函数
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') strDateTime from dual ---24小时制
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') strDateTime from dual ---12小时制
select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh24:mi:ss') dateTime from dual; ---24小时制
select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh:mi:ss') dateTime from dual; ---12小时制
mysql中使用DATE_FORMAT和STR_TO_DATE函数
select DATE_FORMAT(NOW(),"%y-%m-%d %H:%i:%s") ---24小时制
select DATE_FORMAT(NOW(),"%y-%m-%d %h:%i:%s") ---12小时制
select STR_TO_DATE("2013-07-01 12:12:12","%Y-%m-%d %H:%i:%s") ---24小时制
select STR_TO_DATE("2013-07-01 12:12:12","%Y-%m-%d %h:%i:%s") ---12小时制
2 两个关联关系表,根据关联字段更新数据
update table1 as b left join table2 as d on b.order_id=d.deposit_id set d.b2b_deposit_id=b.id where b.order_id=d.deposit_id and b.order_id='xxxxxxxx'
3 查询最近一天的数据
select * from 表名 where created_date between DATE_SUB(now(), interval 1 day) and now()
4 查询当天的数据
select * from 表名 where to_days(时间字段名) = to_days(now());
TO_DAYS函数 返回一个从年份0开始的天数,例如 mysql> select to_days('1997-10-07') 返回 729669
5查询最近7天的数据
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)
6 查询本月的数据
SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
7 查询过去24小时按小时统计的订单成功率,只统计订单量超过5笔以上的数据(假设status为1表示订单成功)假设status为1表示订单成功
select count(1) as total,sum(case when status = '1' then 1 else 0 end) succnum,DATE_FORMAT(created_date,"%y-%m-%d %H") as date1 from 表名 where created_date between DATE_SUB(now(), interval 1 day)
and DATE_SUB(now(), interval 1 hour) group by DATE_FORMAT(created_date,"%y-%m-%d %H")
)c where total >5