技术标签: postgresql
目录
操作符 | 例子 | 结果 |
+ | date '2011-09-28' + integer '7' | date '2011-10-05' |
+ | date '2011-09-18' + interval '1 hour' | timestamp '2011-09-18 01:00' |
+ | date '2011-09-18' + time '02:00' | timestamp '2011-09-18 02:00' |
+ | interval '1 day' + interval '1 hour' | interval '1 day 01:00' |
+ | timestamp '2011-09-28 01:00' + interval '23 hours' | timestamp '2011-09-29 00:00' |
+ | time '01:00' + interval '3 hours' | time '04:00' |
- | - interval '23 hours' | interval '-23:00' |
- | date '2001-10-01' - date '2001-09-28' | integer '3' |
- | date '2011-10-01' - integer '7' | date '2011-09-24' |
- | date '2011-09-28' - interval '1 hour' | timestamp '2011-09-27 23:00' |
- | time '05:00' - time '03:00' | interval '02:00' |
- | time '05:00' - interval '2 hours' | time '03:00' |
- | timestamp '2011-09-28 23:00' - interval '23 hours' | timestamp '2011-09-28 00:00' |
- | interval '1 day' - interval '1 hour' | interval '23:00' |
- | timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' | interval '1 day 15:00' |
* | interval '1 hour' * double precision '3.5' | interval '03:30' |
/ | interval '1 hour' / double precision '1.5' | interval '00:40' |
函数 | 返回类型 | 描述 | 例子 | 结果 |
age(timestamp, timestamp) | interval | 减去参数,生成一个使用年、月的"符号化"的结果 | age('2001-04-10', timestamp '1957-06-13') | 43 years 9 mons 27 days |
age(timestamp) | interval | 从current_date减去得到的数值 | age(timestamp '1957-06-13') | 43 years 8 mons 3 days |
current_date | date | 今天的日期 | ||
current_time | time | 现在的时间 | ||
current_timestamp | timestamp | 日期和时间 | ||
date_part(text, timestamp) | double | 获取子域(等效于extract) | date_part('hour', timestamp '2012-05-06 10:20:30') | 10 |
date_part(text, interval) | double | 获取子域(等效于extract) | date_part('month', interval '2 years 3 months') | 3 |
date_trunc(text, timestamp) | timestamp | 截断成指定的精度 | date_trunc('hour', timestamp '2012-05-06 10:20:30') | 2012-05-06 10:00:00+00 |
extract(field from timestamp) | double | 获取子域 | extract(hour from timestamp '2012-05-06 10:20:30') | 10 |
extract(field from interval) | double | 获取子域 | extract(month from interval '2 years 3 months') | 3 |
localtime | time | 今日的时间 | ||
localtimestamp | timestamp | 日期和时间 | ||
now() | timestamp | 当前的日期和时间(等效于 current_timestamp) | ||
timeofday() | text | 当前日期和时间 |
用于取出时间中的一部分,比如取出小时部分,参数示例如下:
域 | 描述 | 例子 | 结果 |
CENTURY | 世纪 | EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13'); | 20 |
DAY | (月分)里的日期域(1-31) | EXTRACT(DAY from TIMESTAMP '2001-02-16 20:38:40'); | 16 |
DECADE | 年份域除以10 | EXTRACT(DECADE from TIMESTAMP '2001-02-16 20:38:40'); | 200 |
DOW | 每周的星期号(0-6;星期天是0) (仅用于timestamp) | EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40'); | 5 |
DOY | 一年的第几天(1 -365/366) (仅用于 timestamp) | EXTRACT(DOY from TIMESTAMP '2001-02-16 20:38:40'); | 47 |
HOUR | 小时域(0-23) | EXTRACT(HOUR from TIMESTAMP '2001-02-16 20:38:40'); | 20 |
MICROSECONDS | 秒域,包括小数部分,乘以 1,000,000。 | EXTRACT(MICROSECONDS from TIME '17:12:28.5'); | 28500000 |
MILLENNIUM | 千年 | EXTRACT(MILLENNIUM from TIMESTAMP '2001-02-16 20:38:40'); | 3 |
MILLISECONDS | 秒域,包括小数部分,乘以 1000。 | EXTRACT(MILLISECONDS from TIME '17:12:28.5'); | 28500 |
MINUTE | 分钟域(0-59) | EXTRACT(MINUTE from TIMESTAMP '2001-02-16 20:38:40'); | 38 |
MONTH | 对于timestamp数值,它是一年里的月份数(1-12);对于interval数值,它是月的数目,然后对12取模(0-11) | EXTRACT(MONTH from TIMESTAMP '2001-02-16 20:38:40'); | 2 |
QUARTER | 该天所在的该年的季度(1-4)(仅用于 timestamp) | EXTRACT(QUARTER from TIMESTAMP '2001-02-16 20:38:40'); | 1 |
SECOND | 秒域,包括小数部分(0-59[1]) | EXTRACT(SECOND from TIMESTAMP '2001-02-16 20:38:40'); | 40 |
WEEK | 该天在所在的年份里是第几周。 | EXTRACT(WEEK from TIMESTAMP '2001-02-16 20:38:40'); | 7 |
YEAR | 年份域 | EXTRACT(YEAR from TIMESTAMP '2001-02-16 20:38:40'); | 2001 |
获取当前据本周五23:59还有多少小时多少分钟
select EXTRACT(HOUR FROM(CURRENT_DATE + time '23:59') - CURRENT_TIMESTAMP) + (6 - extract(dow from current_date) )*24 "hour",
EXTRACT(MINUTE FROM(CURRENT_DATE + time '23:59') - CURRENT_TIMESTAMP) "minute";
文章浏览阅读3.3k次,点赞6次,收藏17次。无论是AAA级的主机游戏,还是层出不穷的移动端游戏,角色换装几乎都是必不可少的功能,有的甚至是核心功能,像暗黑3和魔兽世界的幻化系统(如图1)。这个功能没什么新鲜点。网上关于Unity换装的文章不胜枚举,我再添一篇也没意思,本系列旨在通过换装功能的实现,来讲解一些被Unity引擎所隐藏起来的那些细节。 (图1:暗黑..._unity 头模怎么蒙皮绑骨
文章浏览阅读1.6k次。选择菜单Edit->Preferences,打开首选项,左侧菜单列表选择Protocols->H.264,这里抓包的视频编码是H.264,fu-a编码的方式,根据上一步骤获取的PT为96,H.264 dynamic payload types 填写96,然后点击OK,这里wireshark应该会把rtp解析成H.264格式,如果以前已经配置了96,但是协议还是没有变成H.264的格式,可通过先配置成其他值,然后再改成96来触发FU-A的解码,这可能是wireshark的一个bug。_wireshark提取rtp 插件
文章浏览阅读3.8k次,点赞2次,收藏19次。作为前端开发, HTTP 中的 POST 请求和 GET 请求是经常会用到的东西,有的人可能知道,但对其原理和如何使用并不特别清楚,那么今天来浅谈一下两者的区别与如何使用。GET请求和POST请求的区别1、 GET 请求: GET 请求顾名思义是用来获取信息。它的本质是发送一个请求来取得服务器上的某一资源。资源通过一组 HTTP 头和呈现数据(如 HTML 文本,或者图片或者视频等)返回给客户端。2、 POST 请求: POST 请求则类似于一封信将参数放在信封里传输。其本质是像服务器传送数据。.._post get 请求的区别和用法
文章浏览阅读1k次,点赞20次,收藏27次。用过国际化`i18n`的朋友都知道,天下苦国际化久矣,尤其是中文为母语的开发者,在面对代码中一堆的`$t('abc.def')`这种一点也不直观毫无可读性的代码,根本不知道自己写了啥![](https://daodaoblogpicgo.oss-cn-shanghai.aliyuncs.com/img/202402261351412.png) (如上图,你看得出来这是些啥吗)2. 第二个问题就是i18n各种语言版本的语言包难以维护,随着项目变大这个语言包会越来越难以维护,能不能自动去维护呢_i18n国际化键名用中文会怎么样
文章浏览阅读1k次。HotSpot虚拟机的介绍_hotspot虚拟机是什么
文章浏览阅读6.2k次,点赞3次,收藏10次。【mybatis和mybatisplus的区别】_mybatis和mybatisplus的区别
文章浏览阅读224次。ozan (oz) yigit grep 源码分析2昨天在床上也在回想oz的代码,因为涉及到pmatch回退的过程,感觉没有彻底理解,于是在心里模拟代码的运行。终于有点想明白了。 while (lp >= are) { if (e = pmatch(lp, ap)) return e; ..._grep源码分析
文章浏览阅读7.3k次,点赞11次,收藏172次。先介绍一下楼主情况,2021届毕业生,本硕都是车辆相关,硕士阶段主要在做电子类工作,所以投的大都是非车企的硬件工程师岗位。从2020年3月开始找实习,到2020年10月签约,前后投递了差不多六七十份简历,不过得到的笔试和面试机会远远没有这么多,不知道是不是由于跨专业的原因。现在还记得投的实习简历大都石沉大海,没有任何回复,所以那两三个月极度焦虑,所幸最后得到了CVTE的实习机会(表白一下CVTE,给了很棒的实习体验)。之前找工作时在网上看到的面经大都是软件相关的,与硬件相关的并不是很多,所以特意_硬件工程师自我介绍
文章浏览阅读1.5k次。区块链起点——避免你再错过几个亿如果对新鲜事物不够敏感,可以懊悔错过早期的机会。但是当新领域已经站在风口,请不要再视而不见。希望你的区块链知识从这里开始2013年的时候,身边的朋友就在谈论比特币,挖矿。在当时的我看来,这是个太虚的东西,没有任何实际的价值。时间进入到2017年,单个比特币价值近2万美刀的时候,我依然觉得是庞氏骗局,大家玩着击鼓传花的游戏。到2018年,自己开始从事相关工..._起点下载区块链
文章浏览阅读8.9k次,点赞10次,收藏38次。1、功能需求会签实现多个人同时审批,任意一个人不同意时,会签任务结束,不同意走八戒审批,同意走悟空审批,最后流程结束。流程图如下:绘制流程图:动态设置审批人,完成条件${(pass == 'no')||(nrOfCompletedInstances/nrOfInstances==1)}添加表单字段控件FormProperty_29f662k-_!string-_!审批意见-_!请输入-_!s,需和前端约定,控件解析格式添加执行监听器,任务结束时调用。网关..._activiti7 一个流程同时给多个人审核
文章浏览阅读4.3k次,点赞4次,收藏13次。处理脏数据的方式一般有两种,一是通过sql处理,二是通过代码处理。对于复杂的脏数据,代码处理是最推荐的,通过代码的逻辑,可以准确地控制不同情况,然后针对性测试。所以大多数情况下,开发会偏向于通过sql方式来修复数据,只需要写一个sql到线上环境跑一下(前提是可以写得出来,哈哈),都不需要上线代码,就可以解决根本性问题。本次针对重复性脏数据情况,根据不同需求场景,来通过sql方式处理脏数据。假定通过uid和gid联合作为唯一判断,那么重复的数据有:[1,2],[6,7,8]_mysql 删除重复数据
文章浏览阅读1k次。python3 dataframe中列数据为字典,拆分成多列或转存某个关键字的值文章地址_dataframe的某列是字典解析