oracle 选择一段时间的内某一个时间点 10C

在做一个酒店数据库的查询,输入了某房间入住时间3月12号以及离开的时间是4月12号,现在要求该房间3月26号的收入,
我写的是:
select sum(price) from room join booking on booking.hno = 'H001' where booking.datefrom > '26-MAR-1997'
and booking.dateto < '26-MAR-1997' 这样子得到的结果是null

![图片说明
!图片说明
通过入住日期和离开日期我们自己是可以知道客人3月26号也是在住的,但是如果不按照输入数据时的日期写,数据库就只会给出null,数据库是无法判断3月26号是不是属于3月12号到4月12号吗?求解

0

5个回答

后面用27号,这个默认按0点算

0

数据库能判断出来日期的范围,但是这个不影响我们查询结果的吧;根据你的问题,我想应该是只需要25-26号的总收入结果,因此修改一下查询语句拿到结果就好。你也可以试着再之前查询结果的前提下再查询这次所需要的结果,但是双重查询也是一个结果,还是分开查询比较效率。

0

oracle中的date类型的字段,在用做条件时,最好还是用to_date函数,如:to_date('你的时间条件','yyyy-mm-dd hh24:mi:ss'),这样比较严谨。而且还可以将时间条件限定到秒。

0

booking.datefrom > '26-MAR-1997'
and booking.dateto < '26-MAR-1997'
这个条件不对,>= 试试

0

因该是你的price存在null或者空不为数字的值,先不要用count,看下数据是否存在空或者null如果存在,就使用 COUNT(CASE WHEN PRICE=NULL OR PRICE='' THEN 0 ELSE PRICE END),不过最好通过后面的条件排除price为空或者null的。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
oracle恢复某段时间点的数据
insert into SECURITY_MENU_TEST  select *     from SECURITY_MENU as of timestamp to_timestamp('2016-07-22 17:00:00','yyyy-mm-dd hh24:mi:ss') commit; 这种方法简单,容易掌握,功能和上面的一样时间为你误操作之前的时间,最好是离误操作
sql server 选取某段日期某段时间内的数据
如我要取8月1号到8月30号之间的早上7点半到晚上八点半这段时间内的数据。   SELECT * FROM tableName AS t WHERE t.create_date BETWEEN '2017-08-01 07:30' AND '2017-08-30 20:30' AND CONVERT(CHAR(5), t.create_date, 14) BETWEEN ...
【oracle】oracle 查询某用户某段时间内历史SQL
                    oracle 查询某用户某段时间内历史SQL --如查询test用户2018年8月6号18~20点之间执行过的SQL   with his as ( select sql_id, sql_exec_start,user_id from dba_hist_active_sess_history t where user_id = (select...
ORACLE将表中的数据恢复到某一个时间点
今早不小心删了表中的部分数据,由于存在新建的数据未备份就被误删除,oracle没有开启闪回,也没记录日志,最后根据某一时刻的数据还原,具体操作如下:根据oracle自己的快照备份查询某一时刻的某张表数据 select * from 表名 as of timestamp to_timestamp('2018-06-08 11:06:00', 'yyyy-MM-dd HH:mi:ss');可直接删除表...
Oracle查询某段日期内某个时间段的数据
Oracle查询某段日期内某个时间段的数据 查询最近一周12:30分到13:00这段时间内的订单量: SELECT *     FROM T_ORDER O    WHERE O.CREATEDATETIME BETWEEN          SYSDATE-7 AND          SYSDATE      AND TO_CHAR(O.CREATEDATET
oracle 根据一个时间段获取这个时间段内所有月份
@TOC oracle 根据一个时间段获取这个时间段内所有月份 获取月份列表: SELECT TO_CHAR(ADD_MONTHS(TO_DATE(‘2014-10’, ‘yyyy-MM’), ROWNUM - 1), ‘yyyyMM’) as monthlist FROM DUAL CONNECT BY ROWNUM &amp;amp;amp;lt;= months_between(to_date(‘2015-06’,...
ORCLE 查询一段时间(时间点不定,时差确定)内符合一定条件的数据
ORCLE 查询一段时间(时间点不定,时差确定)内符合一定条件的数据
查询一段时间内的oracle执行的sql
select t.SQL_TEXT, t.FIRST_LOAD_TIME from v$sqlarea t where TO_DATE(t.FIRST_LOAD_TIME,’YYYY-MM-DD HH24:MI:SS’)&amp;gt;= TO_DATE(‘2018-08-08 15:32:00’,’YYYY-MM-DD HH24:MI:SS’) AND TO_D...
Oracle查询一段时间内的每一天
select to_date('2018-09-01', 'yyyy-MM-dd') + rownum - 1 as dateday from dual connect by rownum &amp;lt;= (to_date('2019-01-21', 'yyyy-MM-dd') - to_date('2018-09-01', 'yyyy-MM-dd'));
Oracle 数据库 计算一张表每个时间段(月、季等)表内全部数据的总数以及当段时间内的总数
注:本文中的SQL语句,皆在Oracle数据库中验证可用,几大主流数据库的SQL语句相近,其余数据库,各位可自行修改验证~ 需求: 一张表,第一个月录入数据100条,第二个月录入数据150条,第三个月录入数据200条; 需要得出的结果:1  100  2  250   3  450 以下是每段时间内,各自的数据总数的SQL   SELECT DISTINCT HIRE_YEAR_MO...
impex 语句 导出指定时间段的数据
Exporting:       insert_update ServicePlan; code[unique=true]; subscriptionTerm(id);supercategories[code]   &quot;#% impex.exportItems( &quot;&quot;ServicePlan&quot;&quot; , true );&quot;       insert_upda...
oracle 获取某一个时间段内中间含有哪几个月
(1)不含开始日期,含结束日期 SELECT to_char(add_months(to_date(SUBSTR('2016-11-01',0,7),'yyyy-mm'),ROWNUM),'YYYY-MM') AS vc_month FROM all_objects WHERE ROWNUM (SELECT months_between(to_date(SUBSTR('2017-
Oracle查询任意时间段内的所有日期,无需建表
select date'2017-04-25' + (rownum - 1) dt from dual connect by rownum <= (date'2017-05-05' - date'2017-04-25' + 1)运行结果:2017-04-25 2017-04-26 2017-04-27 2017-04-28 2017-04-29 2017-04-30 201
oracle sql计算一段时间内(除去周六日)的秒数
利用 oracle sql 实现 计算一段时间内(除去周六日)的秒数
oracle查询一段时间内的数据
oracle查询一段时间内的数据:左右两边要是char类型的话就都是char类型,要都是date类型就都是date类型 SELECT * FROM AIR_CITYHOURAQI_PUBLISH WHERE TO_DATE(TIMEPOINT,'YYYY-MM-DD HH24:MI:SS') >= TO_DATE('2017-5-23 12:00:00','YYYY-M
判断一个时间点是否在一个时间段的方法
判断时间点是否在时间段有两种方法: 一种是计算出当前时间的秒数来判断,即从00:00:00为起始值,所经历的秒数。 如  08:10:10,那么从00:00:00开始所经历的秒数为 8*60*60+10*60+10 = 29410s; 所以判断一个时间点是否在一个时间段内,就可以从所经历的秒数来判断得到。 其中需要注意的是,当起始大于结束时间时,需要做一些处理。如起始时间22:00:00
查询oracle数据库某段时间执行的语句
select * from v$sqlarea b where b.FIRST_LOAD_TIME between '2018-07-26/17:00:00' and'2018-07-26/18:30:00' and upper(b.sql_text) like '%ROLE%' order by b.FIRST_LOAD_TIME  
oracle中统计时间段内每一天的数据
1. 生成1000个随机数 SELECT ROWNUM RN, DBMS_RANDOM.VALUE(0, 1000) RANDOM FROM DUAL CONNECT BY ROWNUM &amp;lt;= 1000; 注:DBMS_RANDOM.VALUE(A, B)是随机数产生函数, A是区间的开始,B是区间的结束 2. 例如:拆分以逗号隔开的 A,B,C,D 字符串...
【javascript】 获取时间段内属于星期一(*)的日期们
需求:知道开始时间结束时间,求这段时间内输入星期一或星期二…的日期们 思路:用毫秒数来判断 /* 获取时间段内属于星期一(*)的日期们 * begin: 开始时间 * end:结束时间 * weekNum:星期几 {number} */ function getWeek (begin, end, weekNum){ var dateArr = new Array(); ...
ORACLE查询任意时间段的的日期集合
1、这条sql语句查询出来的将会是2015-01-01至2016-09-01'所有的月份。 select to_char(dt, 'yyyy/MM') as dat   from (select date '2015-01-01' + (rownum - 1) dt           from dual         connect by rownum  group by to
oracle表回滚到一个指定时间的操作语句
在开发或客户使用过程中,难免会出现误操作或脏数据,那么怎么迅速处理这个问题呢?1.备份还原就用了,太麻烦。就是使用ORACLE的备份功能,然后在还原,还原的时候新建一个库,然后使用dblink进行连接。将数据导回去。2.使用oracle的还原操作,但是这个操作只能还原数据,表发生改变就不能了,切记。这个语句是这样的:—说明这个语句来自网络:地址:这里就是笔记。select * from 表名 as
sql语句时间格式和查找某一段时间内有变化的
select id,username,DATE_FORMAT(updatetime,'%Y %T') as updatetime from user where DATE_SUB(NOW(),INTERVAL 100 MINUTE) DATE_FORMAT(updatetime,'%Y %T')//对应时间格式为2017-12-07 20:22:26 DATE_SUB
把oracle数据库恢复到某个时间点或者某个scn
alter session set nls_date_format='yyyymmdd hh24:mi:ss';select sysdate from dual;conn dbauser/123456;      随便一个用户,然后删除其中的一张表用来做测试drop table test; rman target/startup mount;restore database;      还原数据文...
查询每天几个时间段内的数据总和
先说明数据库表: id simnumber 卡号 locationTime 记录时间 time与上一次记录时间相差的秒数 我想计算记录时间总和 查询一个时间段 SELECT SimNumber, SUM(Time) FROM jsjk_location WHERE 1=1 AND LocationTime&amp;gt;='2019-01-08' AND Locat...
oracle取某时间段的数据
 data_time字段的时间格式如下: select * from test1 t where t.data_time between to_date('2018/8/3 00:00:00','yyyy/mm/dd hh24:mi:ss') and to_date('2018/8/11 15:46:39','yyyy/mm/dd hh24:mi:ss')  --取2018年8月11日0点...
如何校验某时间节点是否在某个指定的日期和时间段内
日常工作中我们可能会遇到这种情况 校验某个业务场景下的预约时间是否在我们预设的合理日期和时间范围,那么以下代码就能帮你解决这个问题。
Mybatis中如何查询时间段内的数据
最后一个是正确的,前边的三个是可能遇到的坑,给大家展示一下,如果不需要的,可以直接跳到最后看: 有时候我们需要查询一张表内一段时间内操作的数据,大家很容易就想到了 between ? and ? 这个 句型的sql 对不对? ,如果现在需要两个参数(比如一个开始日期,一个结束日期)来传递,需求是选择一个参数或者两个参数都可以查询,但是如下边这个条件判断使用and连接,此时需要两个参数都要有,
还原oracle的表到某个时间点
select   to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')  from  dual;select  *  from  table_name  as  of  timestamp  to_timestamp('2017-05-26 09:10:50','yyyy-mm-dd hh24:mi:ss');alter  table  table_name  enab...
R语言获取特定时间段的数据
获取特定时间段的表格数据方法: 1. 方法一:正则表达式 data &amp;lt;- read.csv('F:/data.csv') date &amp;lt;- as.Date(data$Date) #获取2018-3-1到2018-3-10之间的第3-5列数据 subT &amp;lt;- date[(format(date,format = &quot;%Y&quot;)==&quot;2018&quot;&amp;amp;as.numeric(forma...
oracle 查询各个时间点15天内数据
把时间字段转换为小时粒度再分组 select 字段1,        to_char(时间字段, 'hh24:mi:ss') as hour,        avg(字段2) as flow   from 表名  where  时间字段 &amp;gt; sysdate - 15  group by 字段1, to_char(时间字段, 'hh24:mi:ss')  order by hour   ...
oracle中查找某一个时间段内的数据
Select * from a where date between to_date(‘2018-1-1’, ‘yyyy-mm-dd’) and to_date(‘2018-8-1’,‘yyyy-mm-dd’) 查询结果 1)select * from tableName t where start_times &gt; to_date(‘2015/6/26 10:00:00’,‘yyyy/mm...
实现安卓一段时间不操作执行执行某段代码类似于屏保源码
有些时候我们需要这样一个需求,比如屏保程序当规定时间不做任何操作就显示一张图片,又或者是安卓TV的菜单程序当用户在规定时间不操作的时候菜单自动关闭,还有很多其他的例子。
js根据当前时间获取指定范围内的时间段日期
在项目当中,有很多时候需要根据当前时间来获取指定的时间范围,用于查询某个时间段内的数据库数据,比如根据当前时间获取今天、昨天、一周内、本周内、一个月内等 的时间范围;
oracle查询某个时间段是否在另外一个时间段之内
网上查了一下,好像没有写这个的,我来补充一下 定义:       要查的时间段1    begin1  end1       已有的时间段2    begin2  end2 需求:需要查时间段1是否在时间段2之内,或者是否有交集? 我个人思路是这样的,把时间段1切割分为两个部分,分别查询 示例:     &quot;TO_CHAR&quot;(c.BEGINDATE,'yyyy-MM-dd hh24:m...
判断某一时间在某个时间段内
/** * 判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致 * * @param submissionDate 当前时间 * @param startTime 开始时间 数据库查出来 * @param endTime 结束时间 查出来 */ public static boolean isEffectiveDate(Date submissionD...
获取时间段内随机时间点
public static void main(String[] args){ Date start = DateUtils.parseDate("2018-01-12 00:00:58","yyyy-MM-dd HH:mm:ss"); Date end= DateUtils.parseDate("2018-01-12 00:08:58","yyyy-MM-dd HH:mm:ss");
Oracle 从一个时间段(两个字段)中提取实际天数
需求: 表中有一个用户上线时间 和 用户下线时间(用户可能连续好几天不退出,也可能用户一天登录多次) ,与此根据这两个时间来统计用户实际在线天数 表结构:   create table sys_user_login_log ( id varchar2(36) primary key , create_by varchar2(36) , login_date date , exit...
Oracle获取指定时间段内的所有日期
以当日SYSDATE为开始时间,本月最后一天为结束时间来演示: SELECT trunc(SYSDATE)+rownum-1 day from dual connect by rownum &lt;= trunc(LAST_DAY(SYSDATE)) - trunc(SYSDATE)+1 connect by:指定层级的父行于子行的关系,并进行对应的循环。 ...
Oracle 中获取一段时间内的所有星期一的日期
SQL代码:SELECT b.day,b.XINGQI FROM (select a.day,to_char(a.day,'day') as xingqi, 1 as flag from (SELECT TO_DATE('20160101', 'YYYY-MM-DD') + LEVEL - 1 DAY FROM DUAL CONNECT BY TO_DATE('20160101', 'YYYY-M
mysql where 查询在某个时间段内的sql语句
if ($starttime=="" and $endtime==""){ $starttime=date("Y-m-d", strtotime("-30 days", time())); $endtime=date("Y-m-d"); } select * from services where DATE_FORMAT(laifangtime, '%Y-%m-%d')
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo