作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 Postgres 程序,我只想用一些静态编号替换日期的日期部分。
例如:-
varDate Date default '2018-05-21';
假设我想将此日期设置为“2018-05-08”;
任何人都可以告诉如何实现这一目标。
到目前为止我尝试的是这个
varDate := varDate - interval '1 day' * 21 + interval '1 day' * 8;
上面的表达式给了我正确的结果。但是是否有任何快捷方式可以仅更改日期的日期部分。
最佳答案
据我了解,您想将一个月中的第几天更改为 8。
执行此操作的一种方法是将日期“截断”为月初,然后添加 8 天:
vardate := date_trunc('month', vardate)::date + 8;
date_trunc
返回一个 timestamp
,这就是为什么需要转换 ::date
的原因。
另一种选择是根据现有日期“构建”一个日期:
vardate := make_date(extract(year from vardate)::int, extract(month from vardate)::int, 8);
关于sql - 如何用静态数字替换postgres中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52364961/
我是一名优秀的程序员,十分优秀!