相关疑难解决方法(0)

从时间戳中丢弃毫秒部分

millisecond如果second零件也从timestampw/o中取出,我该如何丢弃/绕过零件timezone

sql postgresql timestamp casting rounding

53
推荐指数
3
解决办法
5万
查看次数

PostgreSQL中的日期比较

有没有办法像这样比较同一张表中的两个日期:

SELECT * FROM mytable WHERE date_1 = date_2;
Run Code Online (Sandbox Code Playgroud)

我正在寻找最简单的方法来执行此操作,作为更新语句的一部分。

postgresql datetime

3
推荐指数
1
解决办法
7270
查看次数

预订表中仅允许工作时间

PostgreSql 9.2 保留表定义为

CREATE EXTENSION btree_gist;
CREATE TABLE schedule (
  id serial primary key,
  during tsrange not null,
  EXCLUDE USING gist (during WITH &&)
);
Run Code Online (Sandbox Code Playgroud)

假期见表

CREATE TABLE holiday ( day primary key );
Run Code Online (Sandbox Code Playgroud)

工作日工作时间为 8:00 至 18:00,且只能以 30 分钟为间隔进行预订。如何向 while 值添加约束,以便仅允许在工作时间进行预订:

  1. tsrange 中的开始日期和结束日期始终相同。
  2. 开始和结束日期不能是星期六和星期日
  3. 开始和结束日期不能出现在公共假期表中
  4. 开始时间只能为 8:00、8:30、9:00、9:30、... 16:00、16:30、17:00 或 17:30(含)
  5. 结束时间只能为 8:30、9:00、9:30、... 16:00、16:30、17:00、17:30 或 18:00(不含)

将这些或其中一些约束添加到该表中是否合理?如果有,如何添加?如果有帮助的话,可以更改计划表结构。

sql postgresql database-design schedule postgresql-9.2

2
推荐指数
1
解决办法
579
查看次数