从 postgresql 中的日期字段中提取星期几
我们将在本文中学习如何从 postgresql 表中给出的 datefield
中查找星期几。我们还将学习不同的操作,你可以使用这些操作来操作和使用 datefield
中的数据。
我们使用 extract
函数来执行此类操作,它从具有 date
的 string
中检索子字段。让我们看看如何使用它。
在 postgresql 中使用 extract
从日期字段中提取星期几
要提取星期几,我们可以使用 dow
或 isodow
。dow
使用 sunday
作为开始日期从 0 开始日期,但是 isodow
使用 monday
并将 sunday
列为 7。
查询:
select extract (isodow from timestamp '2022-03-25');
这使用 timestamp
获取星期几并返回。
输出:
因此,在 2022 年 3 月 25 日
,如果你从 sunday
开始编号为 0
,那么当天是 friday
,你会看到 friday
是 5
。
现在假设我们选择 sunday
作为我们的一天。在这种情况下,dow
将返回 0
,而 isodow
将返回 7
,因为它们的模式不同。
你也可以自己测试这些值:
select extract (isodow from timestamp '2022-03-28') as iso_dow, extract (dow from timestamp '2022-03-28') as d_ow;
假设你希望 monday
具有值 0
。在这样的问题中,你可以使用以下语句:
select extract (isodow from timestamp '2022-03-21') - 1;
在 tuesday
的情况下,你将减去 2,依此类推。
在 postgresql 中使用 to_char()
函数从字符串中获取日期
返回日期名称的另一个函数是 to_char()
。
查询:
select to_char(timestamp '2022-03-25', 'day');
输出:
查询:
select to_char(timestamp '2022-03-25', 'dy');
使用上面的查询将返回 fri
而不是 friday
。你可以阅读第二个参数中可能使用的关键字。
要获取 day
,仅使用以下代码。
查询:
select to_char(timestamp '2022-03-25', 'd');
postgresql 文档的摘录如下:
to_char(..., 'id')'s day of the week numbering matches the extract(isodow from ...) function, but to_char(..., 'd')'s does not match extract(dow from ...)'s day numbering.
这意味着即使模式匹配,调用 d
作为第二个参数也不匹配 dow
语法。
在 postgresql 中使用 case
定义 timestamps
的天数划分
下面的代码使用了 extract
方法的扩展版本。
查询:
with a as (select extract(dow from date '2022-02-21') a ),
b as(select case
when a.a = 0 then 'sunday'
when a.a = 1 then 'monday'
when a.a = 2 then 'tuesday'
when a.a = 3 then 'wednesday'
when a.a = 4 then 'thursday'
when a.a = 5 then 'friday'
when a.a = 6 then 'saturday'
end from a )
select * from a, b;
它获取值 a
,然后 for b
检查 a
是否与给定的 case
语句匹配。该值被复制到 b
中(如果有)。
这将返回如下所示的输出。
输出:
我们希望你现在了解可用于从任何给定的 string
中提取星期几的各种方法。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
在一个 postgresql 查询中使用多个 with 语句
发布时间:2023/03/20 浏览次数:337 分类:postgresql
-
在本教程中,我们将学习如何使用多个 with 语句在 postgresql 中使用两个临时表执行查询。
发布时间:2023/03/20 浏览次数:185 分类:postgresql
-
本文介绍如何在 ubuntu 上找到 postgresql 数据库的配置文件。
发布时间:2023/03/20 浏览次数:409 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 sql 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
发布时间:2023/03/20 浏览次数:89 分类:postgresql
-
本文展示了如何列出 postgresql 上的活动连接。
发布时间:2023/03/20 浏览次数:966 分类:postgresql
-
在 pl/sql 中,你可能需要在 postgres 中使用循环。我们可以使用 for 和 while 语句来创建循环。
发布时间:2023/03/20 浏览次数:141 分类:postgresql
-
本文介绍如何在 postgresql 中仅使用单个查询来重命名列以及更改其类型。
发布时间:2023/03/20 浏览次数:233 分类:postgresql
-
本文介绍如何在 postgresql 中使用 select 方法连接列。
发布时间:2023/03/20 浏览次数:281 分类:postgresql
-
本文展示了如何使用 case 语句并给出了 postgresql 中的示例。