---- 日期+1

select date '2018-01-14' + integer '1';

结果: 2018-01-15

---- 日期+1 后 转 20180101 日期字符串

select to_char(date '2018-01-14' + integer '1','yyyymmdd');

结果:20180114

---- 获取指定日期的周一日期

select to_char(date '2018-01-14' + integer '5' - (extract (dow from date '2018-01-14' + integer '5') - 1 || ' day')::interval,'yyyymmdd')

结果:20180115

--- 周"中文"
select case when extract (dow from date '2018-01-14' )=1 then '一'
when extract (dow from date '2018-01-14' )=2 then '二'
when extract (dow from date '2018-01-14' )=3 then '三'
when extract (dow from date '2018-01-14' )=4 then '四'
when extract (dow from date '2018-01-14' )=5 then '五'
when extract (dow from date '2018-01-14' )=6 then '六'
when extract (dow from date '2018-01-14' )=0 then '日'
else '' end

附使用函数生成一张日期数据表:

CREATE OR REPLACE FUNCTION "ext"."tmp_generate_date"()
RETURNS "pg_catalog"."void" AS $BODY$
declare runstr text;
strdate date;
strweekid text;
strweekstart text; -- 周开始第一天(周一)
strweek_zh text;
numb int :=1;
total int :=365;
begin WHILE numb < total LOOP execute 'select date ''2018-01-14'' + integer '''||numb::text||''';' into strdate; execute 'select week_id from ext.tmp_weekmapping where '''||to_char(strdate,'yyyy-mm-dd')||''' >= to_char(week_start,''yyyy-mm-dd'')
and
'''||to_char(strdate,'yyyy-mm-dd')||''' <= to_char(week_end,''yyyy-mm-dd'') limit 1;' into strweekid; execute 'select case when extract (dow from date '''||strdate||''')=1 then ''一''
when extract (dow from date '''||strdate||''')=2 then ''二''
when extract (dow from date '''||strdate||''')=3 then ''三''
when extract (dow from date '''||strdate||''')=4 then ''四''
when extract (dow from date '''||strdate||''')=5 then ''五''
when extract (dow from date '''||strdate||''')=6 then ''六''
when extract (dow from date '''||strdate||''')=0 then ''日''
else '''' end' into strweek_zh; execute '
select case when extract(dow from date '''||strdate||''')=0 then to_char(date '''||strdate||''' - integer '''',''yyyymmdd'')
else to_char(date '''||strdate||''' - (extract (dow from date '''||strdate||''') - 1 || '' day'')::interval,''yyyymmdd'') end
' into strweekstart; insert into ext.tmp_date_tag(ir_date,ir_idx,ir_day,ir_weeka,ir_weekb,ir_month,ir_year,ir_weekday,ir_weekt)
values(strdate,to_char(strdate,'yyyymmdd'),'D'||to_char(strdate,'yyyymmdd'),
'W'||strweekstart,'W'||strweekid,'M'||to_char(strdate,'yyyymm'),'Y'||to_char(strdate,'yyyy'),strweek_zh,strweekstart); numb:=numb+1; END LOOP; end
$BODY$
LANGUAGE 'plpgsql' VOLATILE COST 100
; ALTER FUNCTION "ext"."tmp_generate_date"() OWNER TO "execute_role";

结果数据表:

postgresql 日期类型处理实践的更多相关文章

  1. Python 标准类库-日期类型之datetime模块

    标准类库-日期类型之datetime模块    by:授客 QQ:1033553122 可用类型 3 实践出真知 4 timedelta对象 4 class datetime.timedelta(da ...

  2. 18个Java8日期处理的实践,对于程序员太有用了!

    18个Java8日期处理的实践,对于程序员太有用了! Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API. Java处理日期.日历和时间的方式一直为社区所 ...

  3. C# 把日期字符串转换为日期类型 (MM大写为月、小写为分钟)

    string dtStr; DateTime dtTime; 尝试把时间字符串转为DateTime格式 if (DateTime.TryParse(dtStr, out dtTime)) { //st ...

  4. java mysql 日期类型

    mysql(版本:5.1.50)的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59: ...

  5. Java 基础【09】 日期类型

    java api中日期类型的继承关系 java.lang.Object --java.util.Date --java.sql.Date --java.sql.Time --java.sql.Time ...

  6. SpringMVC对日期类型的转换

    在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置. 1.如果查询类使我们自己写,那么在属性前面加上@Date ...

  7. spring mvc 注解访问控制器以及接收form数据的方式,包括直接接收日期类型及对象的方法

    Spring 中配置扫描器 <!-- springmvc的扫描器--> <context:component-scan base-package="com.beifeng. ...

  8. excel转换日期格式,将yyyymmdd类型日期转换成yyyy-mm-dd等日期类型方法

    源数据日期格式:例如: 20160420 20160422 目标日期格式类型: 2016-4-20 2016-4-22 或 2016/04/20 2016/04/22 方法: 一.选中相应数据的单元格 ...

  9. C# 字符串string类型转换成DateTime类型 或者 string转换成DateTime?(字符串转换成可空日期类型)

    在c#中,string类型转换成DateTime类型是经常用到的,作为基本的知识,这里在此做个小结.一般来说可以使用多种方法进行转换,最常用的就是使用Convert.ToDateTime(string ...

随机推荐

  1. 安装python File "/usr/bin/pip", line 11, in <module> sys.exit(main()) File "/usr/lib/python3.4/site-packages/pip/__init__.py", line 215, in main locale.setlocale(locale.LC_ALL, '') File "/u

      $ uname -a Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU ...

  2. FireFox浏览器Flash&视频下载工具推荐

    介绍 两款扩展组件:Flash and Video Download & Flash Video Downloader 一起使用,各有优缺点. Flash and Video Download ...

  3. hdu-1792 A New Change Problem---数论&剩余系

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1792 题目大意: 给定A和B,A和B互质,求最大不能组合数,和不能组合数的个数. 解题思路: 由于g ...

  4. Python中返回SQL字段名

    def ReturnInfo(self, avalue, akey): cursor = connection.cursor() if type(avalue) == int: Sql = " ...

  5. 20165322 第九周 实现mypwd

    实现mypwd 学习pwd man pwd 该命令用来显示目前所在的工作目录 参数 -P显示当前目录的物理路径 -L显示当前目录的连接路径 man -k dir | grep 2 由图可知,可以用ge ...

  6. 【[USACO15JAN]草鉴定Grass Cownoisseur】

    这大概是我写过的除了树剖以外最长的代码了吧 首先看到有向图和重复经过等敏感词应该能想到先tarjan后缩点了吧 首先有一个naive的想法,既然我们要求只能走一次返回原点,那我们就正着反着建两遍图,分 ...

  7. PHP-----JSOM类型数据

    JS里的数据类型 JS里的一种数据类型,JSOM类型数据 JSOM这种数据类型,在使用JS和jquery时经常使用的到,比较重要.用起来比较简单. <title>无标题文档</tit ...

  8. node里有没有清理require和dependencies的工具

    写node的时候,常常以为自己需要某个package,于是require了一下,结果写着写着,又没有用到,安装了某个包save了一下,最后也没用到. 一个项目写完发现整个require和depende ...

  9. 10.spring:常用的数据库代码.....(不长使用了解即可)

    测试代码: ApplicationContext ctx = new ClassPathXmlApplicationContext("JDBC.xml"); DataSource ...

  10. 播放WAV文件和系统提示音