Oracle查询最近一年数据以及两个日期间隔天数

一、查询之前需要格式化日期,用to_char(日期,格式)函数进行转换

SELECT D.ORDER_NUM ,
       D.EMP_NAME
FROM DAT_DOCUMENT d
WHERE D.FORM_NAME ='Form_SD01'
AND TO_CHAR(D.CREATE_TIME,'yyyy-MM-dd') BETWEEN '2019-01-01' AND '2020-03-17'; 

二、查询两个日期直接间隔天数:

SELECT TO_char(d.CREATE_TIME,'yyyy-MM-dd'),
       TO_char(d.UPDATE_TIME,'yyyy-MM-dd'),   
       trunc(d.UPDATE_TIME) - trunc(d.CREATE_TIME) as days
FROM dat_document d

结果如下:
在这里插入图片描述
三、关联查询
查询统计行项目数,比如只查询7月份到8月份数据


select extractvalue(d.document_data, '/root/orderNum') as "单号",
       count(1) as "行项目数",
       extractvalue(d.document_data, '/root/amount') as "总金额",
       extractvalue(d.document_data, '/root/text_Purchaser_display') as "采购员"
  from dat_document d, dat_table_row t
 where t.document_id = d.document_id
   and to_char(d.create_time,'yyyy-MM-dd') between '2020-07-01' and '2020-08-31'
 --  and d.document_id = 'docid:d551c0cf-d328-43be-a9ae-e1c3ee8ecf0e'
   and t.table_id = 'table2'
 group by extractvalue(d.document_data, '/root/orderNum'),
          extractvalue(d.document_data, '/root/amount'),
          extractvalue(d.document_data, '/root/text_Purchaser_display')

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值