`

SQL中获取日期为当前的第几周

 
阅读更多
最近做报表需要取某天是当年的第几周,用到了两个取周的函数。
WW:
     每年的1月1日作为当年的第一周的第一天(不管当年的1月1日是星期几);
     比如:2011/01/01 是周六, 在Oracle中被定义为2011年的第一周的第一天;
     SELECT to_char(TO_DATE('20110101','YYYYMMDD') ,'yyyyww')  as week FROM DUAL;

IW :
    是周算法以周别为“主线” ,每年最多可以有53个周B别,但是每年至少要包含52个周别;
如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的话,则定为当年的第53周,否则剩余这些天数被归为下一年的第1周;如果在不足52周别的话,则以下一年的时间来补;每周固定的从周一开始作为本周的第1天,到周日作为本周的第7天;比如:在Oracle中 2011/01/01 依然属于IW周别 2010年的第52周的第6天


附:

select
to_char(TO_DATE('20110101','YYYYMMDD') ,'yyyyiw')  as week, --oracle求当年的第几周
to_char(TO_DATE('20110101','YYYYMMDD') ,'yyyyww')  as week2,--oracle求当年的第几周
to_char(TO_DATE('20110101','YYYYMMDD'),'yyyy') as year,--oracle求第几年
to_char(TO_DATE('20110101','YYYYMMDD') ,'yyyymm') as month,--oracle求当年的第几月
to_char(TO_DATE('20110101','YYYYMMDD'),'yyyyddd') as day--oracle求当年的第几天

to_char(TO_DATE('20110401','YYYYMMDD') ,'yyyyq') as quarter-- oracle求当年的第几季度
from dual
分享到:
评论

相关推荐

    Oracle 获得某日期属于一年中的第几个自然周

    标题“Oracle 获取某日期属于一年中的第几个自然周”指的是在Oracle数据库系统中,通过SQL查询来确定一个特定日期在当年是第几周的问题。在实际业务中,这样的功能可能用于统计、报告或者数据分析,例如,公司可能...

    sqlserver 计算当月所有自然周的区间。

    根据提供的文件信息,我们可以了解到这段代码的主要目的是在SQL Server中计算出指定月份的所有自然周的起始和结束日期,并将这些信息存储在一个名为`monthWeekBetween`的表中。接下来,我们将详细解释其中的关键概念...

    Sql查询获取周数Sql获取从星期一开始的周数

    因为线上查找过大部分的获取将星期一作为一周开始的周数的思路在特定日期都有一些问题,因项目需要有此功能,经过项目验证,计算准确无误(未发现有任何日期计算错语)。例如: select [dbo].[get_weekNumber]('2021...

    MSSQL判断任意时间是某月的第几周

    函数的目标是返回这个日期所在的月份中的第几周。这里的关键点是,一周被定义为7天。 首先,函数声明了一些变量,包括`@num`(用来存储周数),`@Start`(表示当月的第一天),`@dd`(表示输入日期是当月的第几天)...

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

    在这个资源中,我们将讨论如何使用 Oracle SQL 来获取星期几、一个月的第几天、一个年的第几天等信息。 一、获取星期几 Oracle SQL 提供了多种方式来获取星期几,下面是一些常见的方法: 1. 使用 TO_CHAR 函数 ...

    Oracle sql查询当前月的所有日期

    在本例中,`TRUNC(SYSDATE, 'MM')`表示获取当前日期(由`SYSDATE`返回)的月份第一天。 - **`SYSDATE`**:这是一个内置函数,用于获取系统当前的日期时间。 ##### 2. 使用`LAST_DAY()`函数 - **`LAST_DAY()`函数*...

    SQL获取当前月的第一天和最后一天和当前月一共几天

    在SQL中,获取当前月的第一天、最后一天以及计算当前月的总天数是常见的日期操作,这在处理与时间相关的数据时非常有用。以下是如何使用T-SQL(SQL Server的编程语言)来实现这些功能的详细解释: 1. 获取当前月的...

    SQL日期获取技巧大全

    最后,`DATEPART()`函数可以用来获取日期中的特定部分,例如`weekday`或`week`可以获取一周中的哪一天(1-7,1为星期日),`dw`同样可以获取星期几,而`week`或`wk`则返回一年中的第几周。 通过以上SQL语句,你可以...

    关于在SQL中如何设置日期

    以下是一些关于在SQL中设置和处理日期的关键知识点,这里主要以Oracle数据库为例进行讲解: 1. **转换字符串为日期**: 在Oracle中,我们可以使用`TO_DATE()`函数将字符串转化为日期格式。例如,如果我们有一个...

    在sql中常用的日期函数使用说明

    - `w`:一周中的第几天 - `ww`:周 - `h`:小时 - `n`:分钟 - `s`:秒 #### firstdayofweek参数的设置 - `vbUseSystem`:使用系统的设置 - `vbSunday`:星期日(默认) - `vbMonday`:星期一 - `vbTuesday`:星期二...

    sql 日期处理常用方法

    本文将详细介绍SQL中日期处理的常用方法,包括获取当前系统时间、日期加减运算、计算日期差、提取日期部分、转换日期格式等功能。 ### 一、获取当前系统时间 在SQL Server中,`GETDATE()`函数用于返回当前的系统...

    SqlServer日期处理函数

    - 描述:此函数返回当前日期所在周的第一天(通常是周一)。 - 示例:如果当前日期是2023年10月12日(周四),则返回2023年10月9日。 3. **获取一年的第一天** - 函数:`DATEADD(yy, DATEDIFF(yy, 0, GETDATE())...

    SQL日期查询大全

    - `datepart(day, GETDATE())`获取当前日期是一周中的第几天(1-7)。 - `6 - datepart(day, GETDATE())`计算距离本周结束还有多少天。 - `dateadd(dd, x, date)`将x天添加到指定日期date上。 - `DATEDIFF(wk, 0, ...

    Sql Server中的日期与时间函数

    这些函数可以帮助我们获取当前系统日期、时间,并进行各种日期时间的操作,比如添加或减去一定的时间间隔、计算两个日期之间的差值、提取日期中的特定部分等。下面将详细介绍几种常用的日期与时间函数及其用法。 ##...

    SQL Server各种日期计算方法

    这里使用`DATEPART(dw, GETDATE())`获取当前星期几,然后计算出当前周的第一天。 ##### 获取特定月份的天数 ```sql DECLARE @month int SET @month = 2 -- 假设是二月 SELECT DATEDIFF(day, '2003-' + CAST(@month ...

    sql server 中使用日期类型的几点心得

    - `DATENAME(weekday, GETDATE())`可以获取当前日期是星期几,但要注意结果可能受`@@DATEFIRST`系统变量的影响。`@@DATEFIRST`决定了一周的第一天是哪一天,这可能因地区设置不同而有所变化。 5. **日期格式化**:...

    SQLServer日期时间函数

    -- 返回当前日期是一周中的第几天 SELECT @@DATEFIRST; -- 查看当前设置情况 ``` ##### 3. 设置日期格式 - **语法**:`SET DATEFORMAT {format | @format_var}` - **示例**: ```sql SET DATEFORMAT mdy; -- ...

    SQL Server中获取第一天、最后一天

    这里的逻辑与获取月份第一天类似,只是将月份替换为了周,从而得到了当前周的第一天,即星期一的日期。 ### 3. 获取当前年的第一天 对于获取当前年度的第一天,我们使用年份(`yy`)作为`DATEDIFF`和`DATEADD`函数...

    sql的各种日期输出

    - Week (Wk): 第几周 - Hour (H): 小时 - Minute (Mi): 分钟 - Second (S): 秒 - Millisecond (Ms): 毫秒 以上函数和参数在 SQL Server 中广泛使用,但在其他数据库系统如 Access、MySQL、Oracle 中可能有不同的...

Global site tag (gtag.js) - Google Analytics