`

Oracle 获得某日期属于该前月中的第几个自然周

阅读更多
select to_week_by_month(to_date('2010-1-31', 'yyyy-MM-dd'))
  from bak_member
where rownum = 1  //输出:5

SQL代码如下:
create or replace function to_week_by_month(sdate in date) return number is
  Result number;
  day    number;
  para   number;
begin

  select to_number(to_char(sdate, 'dd'))
    into day
    from dual;

  select (7 - to_number(to_char(TRUNC(TO_DATE(to_char(sdate,
                                                      'yyyymmdd'),
                                              'YYYYMMDD'),
                                      'mm'),
                                'D')) + 2)
    into para
    from dual;
  if para = 8 then--1号为周日则为第一周
    Result := 1;
    if day > 1 then
       if day <= para then
         Result := 2;
       else
         select to_number(to_char(sdate - para, 'w'))+2 week into Result from dual;
       end if;
    end if;
  else
    if day <= para then
      Result := 1;
    else
      select to_number(to_char(sdate - para, 'w'))+1 week into Result from dual;
    end if;
  end if;

  return Result;
end to_week_by_month;
/
分享到:
评论

相关推荐

    ORACLE sql 星期几 一个月的第几天等 方法

    这将返回当前日期在一个月中的第几天,例如 "15" 代表一个月的第十五天。 三、获取一个年的第几天 可以使用 DDD format model 来获取一个年的第几天。例如: ```sql SELECT TO_CHAR(SYSDATE,' DDD ') FROM DUAL; `...

    ORACLE常用日期函数集合

    - `W`: 返回一个月中的第几周。 ```sql SELECT to_char(sysdate, 'W') FROM dual; ``` 5. **日格式** - `DDD`: 返回一年中的第几天。 ```sql SELECT to_char(sysdate, 'DDD') FROM dual; ``` - `DD`: 返回...

    oracle查看当前日期是第几个星期的方法

    在Oracle数据库中,查询当前日期是第几个星期的方法有多种,这些方法主要依赖于`TO_CHAR`函数的不同格式元素。以下是对这些方法的详细解释: 1. `ww` 格式: `ww` 代表基于年份的星期,其中1月1日被视为一年中的第...

    oracle 日期转换相关sql

    18. **WW** - 年份中的第几周(非 ISO 标准,第一周可能不包含该年的第一个周一)。 #### 二、日期操作与转换 ##### 1. 时间减法 - 减去 7 分钟: `SELECT SYSDATE - INTERVAL '7' MINUTE FROM DUAL` - 减去 7 ...

    oracle日期函数集锦

    - **Q**:表示一年中的第几个季度。 - `SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL;` - 返回结果如 `2` 表示第二季度。 - **MM**:表示月份。 - `SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL;` - 返回结果如 `05`。 ...

    oracle数据库中日期格式化.docx

    - `W`:该月的第几个星期(1-5) - `WW`:年中的第几个星期(1-53) 日期时间间隔操作则涉及加减日期或时间,这对于计算日期范围或执行基于时间的计算非常有用。Oracle提供了`INTERVAL`关键字来处理这些操作,例如...

    oracle数据库中日期格式化.pdf

    - `W`: 该月的第几个星期。 - `WW`: 年中的第几个星期。 4. **日期时间间隔操作**: Oracle提供`INTERVAL`关键字来进行日期或时间的加减。例如: - 减去7分钟:`SELECT SYSDATE, SYSDATE - INTERVAL '7' MINUTE...

    Oracle的to_date函数.doc

    * W:该月的第几个星期 * WW:年中的第几个星期 在使用 to_date 函数时,需要将日期字符串和日期格式参数作为参数传递给该函数。例如: select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual...

    2021-2022收藏的精品资料Oracle日期函数大全.docx

    ### Oracle日期时间函数概述 Oracle提供了丰富的日期时间处理功能,这使得开发人员能够方便地处理与日期时间相关的数据。在Oracle数据库中,日期时间数据类型包括DATE和TIMESTAMP两种。本篇文章将主要介绍日期相关...

    最新Oracle中日期格式字段处理.pdf

    6. 其他:如Q表示季度,WW表示一年中的第几周,W表示一个月中的第几周。 日期和字符转换函数`to_date`和`to_char`是处理日期格式的关键。`to_date`函数将字符串转换为日期,而`to_char`函数则将日期转换为字符串。...

    Oracle数据库时间类型与JAVA之间的转换和应用.pdf

    ### Oracle数据库时间类型与JAVA之间的转换和应用 ...- `W`: 该月的第几个星期 - `WW`: 年中的第几个星期 通过理解和使用这些格式代码,你可以更有效地在Oracle数据库和Java程序之间进行日期和时间的转换。

    数据库日期格式处理Oracle.doc

    - **W**: 一个月中的第几周,例如`1`。 #### 时间范围 - 在24小时格式下,时间范围为`0:00:00-23:59:59`。 - 在12小时格式下,时间范围为`1:00:00-12:59:59`。 #### 日期和字符转换函数用法 - **TO_CHAR**: 将日期...

    oracle date函数.pdf

    例如,`dy`和`day`用于表示星期的缩写和全称,`Q`用于显示季度,`WW`和`W`用于表示一年或一个月中的第几周。 此外,日期语言环境也是处理日期时需要注意的一点。默认的语言环境可能会影响日期和星期的显示方式。...

    Oracle的to-date函数.docx

    - `W`是该月的第几个星期,`WW`是年中的第几个星期。 在不同的语言环境中,这些表示可能会有所变化,比如月份的简写在中文和英文环境下会显示不同的结果。 除了`to_date`函数,Oracle还提供了其他与日期时间相关的...

    Oracle 中的 TO_DATE 和 TO_CHAR 函数

    - `W`: 表示一个月中的第几周,如`2` #### 二、TO_CHAR函数 **TO_CHAR**函数则是用于将日期或其他类型的数据转换成字符串格式。这对于报告和显示结果非常有用。 ##### 2. 使用示例 下面是一些使用**TO_CHAR**函数...

    Oracle函数大全实例

    - `NEXT_DAY()`: 获取指定日期之后的第一个指定星期。 2. **多行函数** 多行函数处理多行数据并返回一个结果,例如计算平均值、计数、最大值、最小值和总和。 - **AVG()**: 计算平均值。 - **COUNT()**: 统计...

    Oracle to_char(date)用法总结

    // 取当前时间是一个月中的第几周 * SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL; // 取当前时间是一年中的第几周 * SELECT TO_CHAR(SYSDATE,'IW') FROM DUAL; // 取当前时间是一年中的第几周 * SELECT TO_CHAR...

    Oracle的to-date函数.pdf

    - `W`:该月的第几个星期 - `WW`:年中的第几个星期 日期时间间隔操作是通过`INTERVAL`关键字实现的,可以用于从当前时间(`SYSDATE`)中减去或加上一定的时间单位,例如分钟、小时、天、月和年。例如: ```sql ...

Global site tag (gtag.js) - Google Analytics