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

左手的ㄟ右手 2023-02-11 08:56 76阅读 0赞

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

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

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

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

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

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

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,76人围观)

还没有评论,来说两句吧...

相关阅读