【发布时间】:2012-11-05 01:32:15
【问题描述】:
我有文件MOD17A1.A2002047.h20v09.058.2007117021342.hdf 存储在我的数据库中。我有一列文件名是这样的(列名是_filename_)。文件名中的2002047 表示2002 年的第47 天。我必须将日期格式为2002-02-16 的日期提取到每个文件名的单独列中。
我想出了这个解决方案:
with S as (
select (select substring(filename from 10 for 4) || (select hiph)
|| (select substring(filename from 14 for 3))) as D
,mytable.rid as s_rid from mytable)
update mytable
set date_column = (select (to_date(d , 'IYYY-IDDD')')::date)
from S
where id=s_id
这个解决方案的唯一问题是我需要一个列_hiph_,它的所有值都是'-'。有没有办法让我在没有 _hiph_ 列的情况下在 postgresql 中运行这个命令?或者任何替代解决方案?
【问题讨论】:
-
您想要一年中的 ISO 日(从 ISO 第一周的星期一开始)还是一年中的普通日?使用 ISO,您的示例将是
2002-02-15,not2002-02-16。
标签: postgresql datetime