我有两个字段 - UTC的事务时间和UTC偏移量。事务时间具有HH:MI格式,而偏移量具有+/- HH:MI格式。如何在Oracle 11g中添加这两个值?
答案 0 :(得分:3)
以您的方式存储日期/时间是一个非常糟糕的设计。将其转换为annotationProcessor 'net.simonvt.schematic:schematic-compiler:0.6.3'
将使您的生活更轻松。
您可以进行如下转换:
TIMESTAMP WITH TIME ZONE
答案 1 :(得分:1)
我建议您不要将日期和时间存储为varchar。它不仅使这个查询复杂化,而且使排序,分组,索引和查询变得更慢。无论如何,您需要将日期和时间列转换为日期日期类型,然后解析偏移列并将其转换为可用于日期数学的时间间隔。
SELECT to_date(date_column || ' ' || time_column, 'mm/dd/yyyy HH24:MI') +
TO_DSINTERVAL(decode(substr(offset_column,1,1),'-', '-') || '0 0' || substr(offset_column, 3) || ':00') AS calculated_time
FROM your_table