进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源调度集合),而线程才是cpu上的执行单位

1.oracle时间和日期的处理
2.mysql时间和日期的处理

1.oracle时间和日期的处理

1.字符串转换为日期时分秒格式:

to_date(字符串, 'yyyy-mm-dd hh24:mi:ss')

select to_date(‘20180831154546’, ‘yyyy-mm-dd hh24:mi:ss’) from dual;
结果为:2018-08-31 15:45:46

2.获取系统时间

SELECT SYSDATE FROM dual; – 系统时间:2019-12-04 21:40:15

SELECT SYSTIMESTAMP FROM dual; – 当前系统时间戳:2019-12-04 21:40:41.328000 +08:00

3.时间类型与字符串相互转换

字符串转换为时间类型:to_date(字符串, ‘yyyy-mm-dd hh24:mi:ss’);

1
2
3
4
5
6
-- 字符串转时间类型
SELECT to_date('2018-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss') FROM dual;

-- 时间类型转字符串
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual;

4.日期的加减

如果时间要进行加减,和现在的时间或者某个目标时间进行比较。

to_date(字符串, ‘yyyy-mm-dd hh24:mi:ss’)+1

后面为1的时候就是加1天,2的时候就是加两天,如果加一个小时,就是为1/24,如果加一分钟,就是为1/24/60,…

1
2
3
4
5
6
7
-- 案例:
select to_date('2019-02-18 23:59:00','yyyy-mm-dd hh24-mi-ss')+1 from dual;
-- 加一天 2019-02-19 23:59:00
select to_date('2019-02-18 23:59:00','yyyy-mm-dd hh24-mi-ss')+1/24 from dual;
-- 加一个小时 2019-02-19 00:59:00
select to_date('2019-02-18 23:59:00','yyyy-mm-dd hh24-mi-ss')+1/24/60 from dual;
-- 加一分钟 2019-02-19 00:00:00

2.MySQL的时间与日期的处理

mysql 查询今天,昨天,本月,今年,本季度,上一年等的sql语句编写

– 今天
SELECT 【想要的字段】 FROM 【表名】 WHERETO_DAYS(【时间字段名】) =TO_DAYS(now());

– 昨天
SELECT 【想要的字段】 FROM 【表名】 WHERE TO_DAYS( NOW( ) ) - TO_DAYS(【时间字段名】) = 1;

– 近七天
SELECT 【想要的字段】 FROM 【表名】 WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=DATE(【时间字段名】);

– 本周内
SELECT 【想要的字段】 FROM 【表名】 WHERE YEARWEEK(DATE_FORMAT(【时间字段名】,’%Y-%m-%d’)) = YEARWEEK(now());

– 上一周
SELECT 【想要的字段】 FROM 【表名】 WHERE YEARWEEK(DATE_FORMAT(【时间字段名】,’%Y-%m-%d’)) = YEARWEEK(now())-1;

– 30天内 注意这个不是本月是从当天起向前推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 【表名】 WHERE QUARTER(【时间字段名】)=QUARTER(now());

– 上一季度
SELECT 【想要的字段】 FROM 【表名】 WHERE QUARTER(【时间字段名】)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

– 本年度
SELECT 【想要的字段】 FROM 【表名】 WHERE YEAR(【时间字段名】)=YEAR(NOW());

– 上一年度
SELECT 【想要的字段】 FROM 【表名】 WHERE YEAR(【时间字段名】)=YEAR(date_sub(now(),interval 1 YEAR));

参考文章


 评论

联系我 | Contact with me

Copyright © 2019-2020 谁知你知我,我知你知深。此恨经年深,比情度日久

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议