迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > PostgreSQL >

从 PostgreSQL 中的日期字段中提取星期几

作者:迹忆客 最近更新:2023/03/20 浏览次数:

我们将在本文中学习如何从 PostgreSQL 表中给出的 DATEFIELD 中查找星期几。我们还将学习不同的操作,你可以使用这些操作来操作和使用 DATEFIELD 中的数据。

我们使用 EXTRACT 函数来执行此类操作,它从具有 DATESTRING 中检索子字段。让我们看看如何使用它。

在 PostgreSQL 中使用 EXTRACT 从日期字段中提取星期几

要提取星期几,我们可以使用 DOWISODOWDOW 使用 SUNDAY 作为开始日期从 0 开始日期,但是 ISODOW 使用 MONDAY 并将 SUNDAY 列为 7。

查询:

select extract (isodow from timestamp '2022-03-25');

这使用 TIMESTAMP 获取星期几并返回。

输出:

在 PostgreSQL 中使用 EXTRACT 从日期字段中提取星期几

因此,在 2022 年 3 月 25 日,如果你从 SUNDAY 开始编号为 0,那么当天是 Friday,你会看到 FRIDAY5

现在假设我们选择 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');

输出:

在 PostgreSQL 中使用 To_CHAR() 函数从字符串中获取日期

查询:

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 中(如果有)。

这将返回如下所示的输出。

输出:

在 PostgreSQL 中使用 CASE 定义 TIMESTAMPS 的天数划分

我们希望你现在了解可用于从任何给定的 STRING 中提取星期几的各种方法。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PSQL 中运行 SQL 文件

发布时间:2023/03/20 浏览次数:178 分类:数据库

本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。

在 PostgreSQL 中使用循环

发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL

在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便