首页 > 数据库 >Oracle sql自定义统计月范围

Oracle sql自定义统计月范围

时间:2023-11-14 10:46:07浏览次数:36  
标签:10 00 01 自定义 09 2022 sql Oracle INSPECTION

 

思路:
1,使用 SUBSTR( to_char( INSPECTION_DATE, 'yyyy-mm-dd' ), - 2 ) 取出天数,
2,使用 case……when……then……判断取出的天数是否大于等于25号,如果是则将日期设置成下月第一天
如果小于等于24号,则设置成当月第一天
3,使用 TRUNC(ADD_MONTHS(INSPECTION_DATE, 1),'mm') 增加一月并且设置成下月第一天,

注意:日期字段根据值类型需要进行格式化,然后才能取出天数

案例sql:
SELECT

CASE
WHEN TO_NUMBER(SUBSTR(to_char( INSPECTION_DATE, 'yyyy-mm-dd' ) , -2)) >= 25 THEN TRUNC(ADD_MONTHS(INSPECTION_DATE,1),'mm')
WHEN TO_NUMBER(SUBSTR(to_char( INSPECTION_DATE, 'yyyy-mm-dd' ) , -2)) <= 24 THEN TRUNC(INSPECTION_DATE,'mm')
ELSE NULL
END
AS 统计月,

INSPECTION_DATE 原值
FROM
INCOMING_TASK
WHERE
INSPECTION_DATE is not null

查询结果:

统计月        字段原值

2022-10-01 00:00:00   2022-10-11 10:29:47.000000
2022-10-01 00:00:00   2022-10-14 09:44:19.000000
2022-09-01 00:00:00   2022-09-01 09:18:42.000000
2022-10-01 00:00:00   2022-10-11 09:43:28.000000
2022-05-01 00:00:00   2022-08-30 18:36:16.000000
2022-10-01 00:00:00   2022-10-11 09:47:47.000000
2022-10-01 00:00:00   2022-10-11 09:44:58.000000
2022-09-01 00:00:00   2022-09-01 16:14:50.000000
2022-09-01 00:00:00   2022-09-01 16:18:11.000000
2022-09-01 00:00:00   2022-09-01 16:01:16.000000
2022-09-01 00:00:00   2022-09-01 16:02:02.000000
2022-09-01 00:00:00   2022-09-01 16:02:23.000000
2022-09-01 00:00:00   2022-09-01 16:23:17.000000

 

标签:10,00,01,自定义,09,2022,sql,Oracle,INSPECTION
From: https://www.cnblogs.com/eprtr/p/17831072.html

相关文章

  • mysql-partition库-创建数据库表分区、展示表分区最新字段
    说明[tips]提供mysql数据库的分区表最新分区查询,支持分区字段为DATE或TO_DAYS(date_str)类型的数据表新建分区,依赖库包括:"pandas","pymysql","sqlalchemy".[ProvidethelatestpartitionqueryforthepartitiontableofMySQLdatabase,supportingpartitionfields......
  • Django中ORM如何执行原生sql语句操作数据库
    django中的ORM提供的操作功能有限,在模型提供的查询API不能满足实际工作需要时,可以在ORM中直接执行原生sql语句。Django提供两种方法使用原生SQL进行查询:一种是使用raw()方法,进行原生SQL查询并返回模型实例;另一种是完全避开模型层,直接执行自定义的SQL语句。另外就是用extra方法。......
  • 自定义GPT已经出现,并将影响人工智能的一切,做好被挑战的准备了吗?
    原创|文BFT机器人OpenAI凭借最新突破:定制GPT站在创新的最前沿。预示着个性化数字协助的新时代到来,ChatGPT以前所未有的精度来满足个人需求和专业需求。自定义GPT具有变革性的特点——可以被定制为任何领域或任务的专家。我们可以想象一下为SEO研究量身定制的数字助理、能够筛选......
  • Oracle DG 主从延时判定
    一、主从应用模式1、ADG与普通归档模式colnamefora50;setlines300;--SWITCHOVER_STATUS:SESSIONSACTIVEselectSWITCHOVER_STATUS,NAME,PROTECTION_MODE,OPEN_MODE,LOG_MODE,DATABASE_ROLE,DB_UNIQUE_NAMEfromv$database;--如果process:MRP0:WAIT_FOR_LOG则为ADG,如果......
  • 微信小程序--自定义tabbar切换页面时,保留数据方案
    自定义的tabbar组件,每次切换页面时都会重新加载页面和数据,需要通过一些方法把tabbar菜单的数据保留下来,不要每次都请求数据。方案一:在app.js文件里定义全局数据(本次项目采用的是可以在后台管理里配置的数据,所以采用了方案一)1、在app.js文件里定义一个全局变量App({  globa......
  • 十三、自定义类型
    用户定义数据类型通俗定义:用户自己设计并实现的数据类型就称为用户自定义数据类型,即使这些数据类型基于系统数据类型。也可以理解为基础类型的一个延伸。用户定义数据类型三要素:1.数据类型的名称2.所基于的系统数据类型3.数据类型的可空性(是否可以为空)USE[Advanc......
  • wordpress SQL
     UPDATEwp_postsSETpost_content=REPLACE(post_content,"192.168.120.126:8000","计算机名:8000")  WHEREid=10 ;   修改ip地址后,导致图片失效 报语法错,跟mysql版本没有关系。   更改ip和切换主题都会导致文章排版和图片问题。有些主题是用markdown,有......
  • SQLserver中的递归如何实现
    在SQLServer中,可以使用递归CTE(通用表达式)来实现递归查询。CTE(通用表达式)是一种临时命名结果集,它只存在于查询语句的执行过程中。CTE可以在一个SELECT,INSERT,UPDATE或DELETE语句中使用,并且可以在同一个查询中递归引用自身。这使得递归查询成为可能。下面是一个使用递归CTE的示例:......
  • MySQL学习(16)事务隔离级别
    事务隔离级别前言一次事务的执行,就是一次状态的转换。事务执行后,必须从一个一致性状态转换到下一个一致性状态,如果事务发生中止,也要回滚到最初的一致性状态。什么是事务隔离级别系统通过一些方法,使得并发执行的事务按照一定的顺序单独执行,或者最终执行的效果和单独执行一样。......
  • MySQL常用的字符串函数
    MySQL常用的字符串函数有:   1,CONCAT(str1,str2,…):将多个字符串连接在一起。selectCONCAT('aa','bb')//返回aabb  2,UPPER(str):将字符串转换为大写。selectUPPER('aabb')//返回大写的AABB   3,LOWER(str):将字符串转换为小写。selectLOWER(......