当前位置: 首页 > 面试题库 >

Postgres-将TSTZRANGE分为两列

鲁展
2023-03-14
问题内容

我使用PostgreSQL9.4我有一个名为表列timerange,并希望写一个SELECT查询将返回的时间范围在两个单独的列time_starttime_end。我试图像数组一样处理它,但是它不起作用:

select *, timerange[0] as t_start from schedules;

当前表:

| id |                    timerange                        |  
|----|-----------------------------------------------------|  
| 1  | ["2017-05-05 19:00:00+02","2017-05-05 21:00:00+02") |  
| 2  | ["2017-05-05 19:00:00+02","2017-05-05 21:00:00+02") |

所需表:

| id |        time_start        |       time_end           | 
|----|--------------------------|--------------------------|
| 1  | "2017-05-05 19:00:00+02" | "2017-05-05 21:00:00+02" |  
| 2  | "2017-05-05 19:00:00+02" | "2017-05-05 21:00:00+02" |

问题答案:

使用 lower()upper()

像这样:

SELECT lower(tsrng) AS start, upper(tsrng) AS end
FROM (
  SELECT tstzrange('2017-05-05 12:00:05', '2017-05-05 16:00:05', '[)') AS tsrng
) sub;

或您的示例:

select *, lower(timerange) as t_start, upper(timerange) as t_end from schedules;


 类似资料:
  • 问题内容: 这是给俄罗斯方块的。玻璃(蓝色)位于左侧,控件(红色面板)位于右侧。换句话说,现在我只想将框架分为两部分:左(较宽)部分是蓝色,右部分是红色。而已。但是我似乎没有做到这一点。 因此,我的逻辑是:让框架具有FlowLayout。然后,我添加了两个面板,这意味着它们应该连续放置。 我准备了这个: 但是在屏幕上仅可见灰色框。你能帮我理解为什么吗? 问题答案: 正如Amir所说,您想为此使用J

  • 问题内容: 我有下表,该表为每个用户提供了多个电子邮件地址。 我需要将其展平为用户查询中的列。请根据创建日期为我提供“最新”的3个电子邮件地址。 问题答案: 使用从模块。

  • 问题内容: 我有一个带有一列的数据框,我想将其分为两列,其中一列标题为,另一列为 我的数据框df如下所示: 我不知道如何使用以达到分割行单元的目的。我可以用来添加一个新列,并用填充它hello。有任何想法吗? 问题答案: 对于以下简单情况: 我有一个带有定界符的文本列,我想要两列 最简单的解决方案是: 或者,你可以使用以下方法自动为拆分的每个条目创建一个带有一列的DataFrame: 如果字符串的

  • 我尝试了一些代码片段将wordpress子菜单拆分为两个Colum,我获得了一些成功。但它们并没有完全分开。奇数菜单项下面有空白,偶数菜单项上面有空白。菜单链接 在上面的网页中,菜单-->纳维什塔黄金时段-->第二季 菜单项似乎不在一条线上,造成了白色的空隙。下面是我使用的CSS代码: 我在wordpress菜单设置中的菜单项“第2季”上应用了这个类“子菜单-列”。

  • 给定一个< code>n数和sum 的列表,将这些数分成< code >两个组,使得每组中的数之和小于或等于s。如果可以分组,则打印< code>YES,如果不能分组,则打印< code>NO。 例如,如果< code>n=3,s=4和< code>n数是< code>2,4,2。在这种情况下,输出为< code>YES,因为可以形成两个组< code>(2,2)和(4)。 我的解决方案如下。 是

  • 我对将全名分为名字和姓氏的功能感到困惑。例如,我有这些记录 我期待这样的结果 你能帮我吗?谢谢