查询本周星期一的时间

方法一:

SELECT current_date +cast(-1*(TO_NUMBER(to_char(DATE (current_date),'D'),'99')-2) ||' days' as interval)

解析:

TO_NUMBER 将一个字符串转换成数字

格式:TO_NUMBER(string,format)

-- 一周里的日子(1-7;周日是1)

select to_char(CURRENT_DATE ,'D')

DDD 一年里的日子(001-366)

DD 一个月里的日子(01-31)

D 一周里的日子(1-7;周日是1)

-- 将得到的字符串转换成数字
select TO_NUMBER(to_char(CURRENT_DATE,'D'),'99')

-- 因为得到的星期一为2,所以要减去2
select TO_NUMBER(to_char(CURRENT_DATE,'D'),'99')-2

-- 将得到的数字乘以 -1  比如例子中:-1*3  就是 -3  ,也就是减去 3天
select cast(-1*3 || 'days' as interval)

-- 就是将当天减去0天 得到了星期一的日期
select cast(-1*0 || 'days' as interval) + CURRENT_DATE

SELECT   to_char(CURRENT_DATE +cast(-1*(TO_NUMBER(to_char(CURRENT_DATE,'D'),'99')-2) ||' days' as interval),'yyyy-mm-dd');

方法二:

select   to_char('2019-09-27'::date -  (    case when EXTRACT(DOW FROM TIMESTAMP '2019-09-27') = 0 then 6 
             when EXTRACT(DOW FROM TIMESTAMP '2019-09-27') = 1 then 0 
            else EXTRACT(DOW FROM TIMESTAMP '2019-09-27') -1
         end )::integer,'yyyy-mm-dd')  as 星期一日期 
         ,to_char('2019-09-27'::date +  (     case when EXTRACT(DOW FROM TIMESTAMP '2019-09-27') = 0 then 0 
                  else  7-  EXTRACT(DOW FROM TIMESTAMP '2019-09-27')
         end )::integer,'yyyy-mm-dd') 星期日日期

获取某时间是星期几

select   extract(DOW FROM cast('2019-04-23' as TIMESTAMP))

根据年份和周数计算所在周的时间段

select   to_char(cast(-1*(TO_NUMBER(to_char(to_date('2019'||'-01-01','yyyy-mm-dd'),'D'),'99')-2)|| 'days' as interval) + to_date('2019'||'-01-01','yyyy-mm-dd'),'yyyy-mm-dd') 在2019年1月1日所属星期的星期一日期
, to_char(to_date(cast(-1*(TO_NUMBER(to_char(to_date('2019'||'-01-01','yyyy-mm-dd'),'D'),'99')-2)|| 'days' as interval) + to_date('2019'||'-01-01','yyyy-mm-dd'),'yyyy-mm-dd')
+cast(38*7|| 'days' as interval),'yyyy-mm-dd') 第38周的开始时间
, to_char(to_date(cast(-1*(TO_NUMBER(to_char(to_date('2019'||'-01-01','yyyy-mm-dd'),'D'),'99')-2)|| 'days' as interval) + to_date('2019'||'-01-01','yyyy-mm-dd'),'yyyy-mm-dd')
+cast(38*7+6|| 'days' as interval),'yyyy-mm-dd') 第38周的结束时间

postgresql根据周和年计算周对应的时间段相关推荐

  1. java日期加减秒_Java日期——年、月、日、时、分、秒、周加减计算

    Java日期--年.月.日.时.分.秒.周加减计算 Java日期--年.月.日.时.分.秒.周加减计算 1.Pom依赖 joda-time joda-time 2.9.9 2.示例代码 package ...

  2. 根据输入的日期计算周次和月份

    需求: 1.根据输入的日期拆分成按周或按月显示 2.规定周的开始日期从星期一开始,星期日结束 3.不足7天的一周,如果小于2天,则合并到上周或下周:大于2天的则自成一周 代码: CREATE OR R ...

  3. java表格计算,JAVA表格两日期间月,周,日计算

    JAVA报表两日期间月,周,日计算 //计算天数 public List day(String dates, String datee) throws ParseException { List da ...

  4. 根据日期计算属于第几周(周日是一周的第一天)

    根据  日期计算属于第几周,见代码,重点是红色加粗代码,如果日期是下一年的第一周的时候的解决方案,如果谁有更好的方法,请不吝赐教 /** * 根据日期计算属于第几周(周日是一周的第一天)      * ...

  5. mysql的week函数与JAVA计算周的差别问题

    转载:mysql的week函数与JAVA计算周的差别问题_cwfreebird的博客-CSDN博客 今天遇到此问题,记录下解决办法.转载. 原获取周方法: public static String g ...

  6. .Net 根据年份计算周次和起止日期

    1.根据年份计算周次 public class WeekDisPlay{public int WeekNumber { get; set; }public string WeekSort { get; ...

  7. sql 计算周环比wow_通过对周进行编号计算周环比(WOW)

    上周我们分享了如何在Power Pivot中对月份进行编号,今天我们和大家一起看一下如何通过对周进行编号,来计算周环比(WOW). 先来看一下我们的示例模型: 模型由销售记录表和日期表组成,我们已经创 ...

  8. java 计算周_java – Joda时间周计算推理

    下面的代码演示了星期计算的有问题的joda-time实现.这种行为不是错误,而是设计决策 Joda-Time uses the ISO standard Monday to Sunday week.( ...

  9. java 排除法定节假日以及正常周六日,计算两个Date相差的小时数

    项目组有一个需求,计算两个Date类型参数,相差的小时数.业务上有一些特殊的用途,可能用于绩效考核的目的吧- 如果不排除节假日周六日的话,处理起来非常easy,是个程序员都能写出来,但是-如果要排除法 ...

最新文章

  1. 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析
  2. c语言中int和指针和字符所占字节
  3. 惊艳!基于RNN的AI写词机竟能写出如此优秀的情诗!
  4. (转自PHPer)成长的选择
  5. jittor和pytorch生成网络对比之cogan
  6. 纯CSS实现圆角矩形框
  7. Rancher使用--后端流水线
  8. 使用 OpenLDAP 集中管理用户帐号
  9. (JAVA)StringBuffer类
  10. 爬虫-request库-get请求
  11. 学习easyui疑问(二)
  12. 井字棋小游戏c语言简单编码,C语言实现井字棋小游戏
  13. 【语音加密】基于matlab GUI语音信号加密解密(带面板)【含Matlab源码 181期】
  14. 写论文的时候发现的几个神奇的网站
  15. Ubuntu18.04安装GoldenDict词典【词库】
  16. Java邮箱验证码注册
  17. 重要不紧急紧急不重要
  18. 一衣带水 守望相助:中日夫妻七七再行慈善之旅
  19. Unity动态换装之Spine换装
  20. mail企业邮箱登录入口有哪些?

热门文章

  1. 电脑网站出现支付宝支付时手机扫码出现系统有点忙....的解决方法总结
  2. 【全网第一细,小白福利站】JAVA的重写和重载
  3. PAT甲级 1071-1079
  4. 油田企业实现两化融合的现实意义
  5. dz论坛Discuz_X3.4最新网站漏洞
  6. 包子笔记 - 债市和封闭基金以及开放基金
  7. 外商独资企业必须有监事吗
  8. 【编译器】Dev C++ 执行程序 显示“Fail to excute **/**/ .exe, Error: 0 操作成功完成。{未解决}
  9. Ubuntu 18.04 开机进入emergency mode
  10. 想系统学习GO语言(Golang),能推荐几本靠谱的书吗?