Postgresql 新手 - 寻找洞察力
Postgresql Newbie - Looking for insight
我正在介绍 sql class(使用 postgresql)并且正在努力进行下一步的简单查询。我有一个带有两个日期时间列(start_time 和 end_time)的单个 table,我想将其提取为两个仅限日期的列。我想出了如何使用以下方法从日期时间中提取日期:
Select start_time,
CAST(start_time as date) as Start_Date
from [table];
或
Select end_time,
CAST(end_time as date) as End_Date
from [table];
问题:我想不出将这两个查询合并为一个步骤的下一步。我尝试使用 WHERE 但我仍然做错了。
第一个错误示例
SELECT start_time, end_time
From baywheels_2017
WHERE
CAST(start_time AS DATE) AS Start_Date
AND (CAST(end_time AS DATE) AS End_Date);
非常感谢任何帮助。感谢您抽空查看。
您不需要 select 基础字段以便稍后进行转换; “select”子句中的每个字段都是相对独立的。 table 创建者:
CREATE TABLE test (
id SERIAL PRIMARY KEY,
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
end_time TIMESTAMP WITH TIME ZONE NOT NULL
);
INSERT INTO test(start_time, end_time)
VALUES ('2022-10-31T12:30:00Z', '2022-12-31T23:59:59Z');
你可以 运行 select:
SELECT
cast(start_time as date) as start_date,
cast(end_time as date) as end_date
FROM test;
(您可以在 DB-Fiddle 这样的网站上尝试一下。)
我正在介绍 sql class(使用 postgresql)并且正在努力进行下一步的简单查询。我有一个带有两个日期时间列(start_time 和 end_time)的单个 table,我想将其提取为两个仅限日期的列。我想出了如何使用以下方法从日期时间中提取日期:
Select start_time,
CAST(start_time as date) as Start_Date
from [table];
或
Select end_time,
CAST(end_time as date) as End_Date
from [table];
问题:我想不出将这两个查询合并为一个步骤的下一步。我尝试使用 WHERE 但我仍然做错了。 第一个错误示例
SELECT start_time, end_time
From baywheels_2017
WHERE
CAST(start_time AS DATE) AS Start_Date
AND (CAST(end_time AS DATE) AS End_Date);
非常感谢任何帮助。感谢您抽空查看。
您不需要 select 基础字段以便稍后进行转换; “select”子句中的每个字段都是相对独立的。 table 创建者:
CREATE TABLE test (
id SERIAL PRIMARY KEY,
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
end_time TIMESTAMP WITH TIME ZONE NOT NULL
);
INSERT INTO test(start_time, end_time)
VALUES ('2022-10-31T12:30:00Z', '2022-12-31T23:59:59Z');
你可以 运行 select:
SELECT
cast(start_time as date) as start_date,
cast(end_time as date) as end_date
FROM test;
(您可以在 DB-Fiddle 这样的网站上尝试一下。)