Oracle 当前月 当前周 当前年 2010-12-15 15:54:04| 分类: 数据库 -- oracle | 标签:t.c reate_time sysdate trunc where |字号大中小 订阅 .
当月数据
select * from table t
where t.create_time >=TRUNC(SYSDATE, 'MM')
and t.create_time<=last_day(SYSDATE) create_time为你要查询的时间
当年数据
select * from table t
where t.create_time >=trunc(sysdate,'YYYY')
and t.create_time<=add_months(trunc(sysdate,'YYYY'),12)-1
本周(国外周日为一个星期第一天)
where t.create_time >=trunc(sysdate,'day')+1 and t.create_time<=trunc(sysdate,'day')+6 本周(国内周一为一个星期第一天)
where t.create_time >=trunc(next_day(sysdate-8,1)+1) and t.create_time<=trunc(next_day(sysdate-8,1)+7)
select
trunc(next_day(sysdate - 8, 1) + 1) as 周一,
trunc(next_day(sysdate - 8, 1) + 2) as 周二,
trunc(next_day(sysdate - 8, 1) + 3) as 周三,
trunc(next_day(sysdate - 8, 1) + 4) as 周四,
trunc(next_day(sysdate - 8, 1) + 5) as 周五,
trunc(next_day(sysdate - 8, 1) + 6) as 周六,
trunc(next_day(sysdate - 8, 1) + 7) as 周日
from dual;
-----查询当期日期之前一个月的日期
select trunc(sysdate) - rownum +1 as tdate
from all_objects
where rownum <= (trunc(sysdate) - add_months(trunc(sysdate),-1 ))
-----当日9:00--21:00
select * from A where to_char(sysdate,'hh24:mi') between '09:00' and '21:00' where to_char(A.time,'yyyy-MM-dd)=to_char(sysdate,'yyyy-MM-dd);
-----oracle SQL语句中查询一个月内固定时间段的数据,比如9月1号到10月1号每天的八点到九点的呼叫数目
select * from table where createdate
between to_date('2010-9-1','yyyy-MM-dd') and to_date('2010-10-1','yyyy-MM-dd')
and EXTRACT(hour from createdate) between '8:00' and '9:00';
select a.日期,count(*) from 表名 a
where to_char(a.具体时间,'HH') <= '21' and to_char(a.具体时间,'HH')>='20'
group by a.日期
having to_char(a.日期,'YYYY-MM-DD')<='2011-10-01' and to_char(a.日期,'YYYY-MM-DD')>='2011-09-01'
-----当前月的天数
select trunc(sysdate) - rownum +1 as tdate
from all_objects
where rownum <= (trunc(sysdate)+1 - trunc(last_day(add_months(sysdate,-1))+1))
-----当月里的第一天,最后一天,总数
select (trunc(last_day(SYSDATE)) + 1 -
add_months(trunc(last_day(add_months(sysdate, -1)) + 1), 0)) totalday,
sysdate,
add_months(sysdate, 0) aa,
last_day(SYSDATE) lastday,
last_day(add_months(sysdate, -1)) + 1 firstday
from dual;
分享到:
相关推荐
- `trunc(sysdate, 'dd')`:返回当前年的同月同日。 - `trunc(sysdate, 'yyyy')`:与`trunc(sysdate, 'yy')`相同,返回当年的第一天。 - `trunc(sysdate, 'd')`:返回当前星期的第一天,例如如果今天是星期一,则...
一个日期值包括年、月、日、时、分、秒等部分,并且Oracle默认以内部格式存储日期值,这种格式可以精确到秒。在SQL查询中,可以通过`TO_CHAR`函数将日期转换为不同的字符串格式以便于展示或进一步处理。 #### 二、...
可以使用 TRUNC 函数来返回当前年的 1 月 1 日、无时分秒,例如: ```sql SELECT TRUNC(SYSDATE, 'YEAR') FROM DUAL; ``` 这将返回当前年的 1 月 1 日、无时分秒。 12. 返回当前月的 1 日、无时分秒 可以使用 ...
本文将详细介绍如何利用Oracle SQL来获取当前周、月、季、年的起始日期与结束日期,并进一步讨论如何基于这些日期进行数据统计。 #### 1. 获取当前周的起始与结束日期 - **当前周周一**:`select next_day(SYSDATE...
例如,`to_char(sysdate,'Y')`将返回当前年的最后一位数字,如'7',而`to_char(sysdate,'YY')`则返回两位数的年份,如'07',`to_char(sysdate,'YYY')`返回完整的四位数年份,如'007'。 2. `Q`:表示季度,1到3月为...
例如,下面的SQL语句可以将当前日期截断到当前年的1月1日: ```sql select sysdate S1, trunc(sysdate) S2, trunc(sysdate,'year') YEAR, trunc(sysdate,'month') MONTH , trunc(sysdate,'day') DAY from dual; ``` ...
例如,`EXTRACT(YEAR FROM SYSDATE)`将返回当前年的数值。 4. TIMESTAMP类型:如果需要更精确的时间管理,Oracle还提供了TIMESTAMP类型,支持微秒级别的精度。转换方法与DATE类型类似,只是涉及到的函数可能会有所...
这将返回当前年的第一天。 二、数字 TRUNC 函数 TRUNC 函数也可以截断数字类型的数据,返回截断后的数字值。其语法格式如下: ``` TRUNC(number,num_digits) ``` 其中,number 是需要截尾取整的数字,num_digits ...
- 对于日期,`TRUNC`可以按照年、月、日、小时等不同元素进行截取。例如: - `TRUNC(SYSDATE, 'yyyy')`返回当年的第一天。 - `TRUNC(SYSDATE, 'mm')`返回当月的第一天。 - `TRUNC(SYSDATE, 'd')`返回当前星期的...
TRUNC(SYSDATE, 'd') -- 返回当前周的第一天 ``` **数值截断**: ```sql TRUNC(number, [decimals]) ``` 其中`number`是要截断的数字,`decimals`指定了小数部分保留的位数。 **示例**: ```sql TRUNC(89.9852, 2)...
1. 查询当前年、月、周相关时间 Oracle提供了`TO_CHAR`函数与日期格式模型结合,用于提取或格式化日期的各个部分。例如: - 使用`'YYYY'`可以获取四位数的年份(如2023); - 使用`'YY'`或`'Y'`可以获取两位数的...
例如,`trunc(sysdate, 'YEAR')`会返回当前年的开始日期。 5. **毫秒级处理**:Oracle支持到毫秒级别的日期时间处理。`current_timestamp(5)`返回当前时间戳,包括毫秒。`to_char`函数可以用来格式化并提取这些毫秒...
例如,TRUNC(sysdate, 'yyyy')会返回当前年的1月1日。 2. TRUNC(date, 'mm'):这将返回给定日期所在月份的第一天。所以,无论日期是哪一天,都会被截断到该月的1日。 3. TRUNC(date, 'd'):这个选项返回当前星期的...
- `TRUNC(SYSDATE,'MM')`:返回的是当前月份的第一天,即每个月的“第1日”,结果同样是一个`DATE`类型,但仅保留了年份和月份信息。 - `TRUNC(SYSDATE,'YYYY')`:返回的是当前年的第一天,结果是一个仅包含年份信息...
- **灵活性**:支持当前年及历史年的数据处理。 **缺点**: - **限制性**:恢复历史年数据前需预先建立对应的数据表。 - **相同问题**:与方法1.1相同的缺点依然存在。 ##### 方法2:利用Sybase的unload与rebuild...
122 <br>0205 如何使用正则表达式验证两位小数 122 <br>0206 如何使用正则表达式验证一年的12个月份 123 <br>0207 如何使用正则表达式验证一个月的31天 123 <br>0208 如何使用正则表达式验证数字...