【发布时间】:2021-05-17 14:12:12
【问题描述】:
如何将varchar2(即字符串)转换为timestamp?
原始数据
08:00 AM - 06:00 PM10:00 AM - 04:00 PM
所以我可以比较它们。
--STORE
CREATE TABLE STORE(
StoreID VARCHAR2(10) NOT NULL,
StoreAddress VARCHAR2(50),
WeekDaysHours VARCHAR2(20),
WeekendHours VARCHAR2(20),
PRIMARY KEY(StoreID));
价值观
INSERT INTO STORE VALUES ('S004', 'High Drive', '09:00 AM - 05:00 PM', '08:00 AM - 06:00 PM' );
INSERT INTO STORE VALUES ('S005', 'Snake Rd', '09:00 AM - 09:00 PM', '10:00 AM - 04:00 PM' );
【问题讨论】:
-
你想要的输出是什么,你已经尝试了什么?
-
@pmdba 正如我所提到的,我正在尝试在它们之间进行比较,例如哪个更早。我仍然找不到任何类似的示例,我发现的所有示例都有日期格式,这不是数据的一部分。
-
@Martheen 它的日期不是数据的一部分
-
Oracle 没有“时间”数据类型。当您说
8:00am - 06:00pm时,这是否意味着同一天?它们可能相隔几天发生吗?您将不得不对日期做出一些假设:即两个时间都发生在同一日期,以便比较它们的顺序。否则没有什么可说的。例如,21 年 5 月 1 日晚上 10:00 在 21 年 5 月 1 日上午 8:00 之后,但在 21 年 5 月 2 日上午 8:00 之前。在不知道日期组件的情况下,我不知道如何计算它们之间的间隔。