将 sybase 中的查询更新迁移到 oracle

migrate querie update in sybase to oracle

大家好,我需要将此查询迁移到 oracle

UPDATE t_tel
   SET fec_hora = convert(datetime,substring(date_call,1,8) + " " + hour_init)

本人对数据库了解甚少,请大家帮忙

这是我的想法(我不了解 Sybase,所以我查看了文档;如果您根据输入(即 DATE_CALLHOUR_INIT 值)。

因此,一个推定:

  • date_call 看起来像一个日期,其中前 8 个字符代表日、月和年 - 但我不知道是哪种格式,所以我推测它是ddmmyyyy。如果不是,则必须使用正确的格式
  • hour_init 包含 time - 同样,格式未知,所以我推测它是 hh24mi

如果是这样,你会

update t_tel set
  fec_hora = to_date(substr(date_call, 1, 8) || ' ' || hour_init,
                     'ddmmyyyy hh24mi'
                     );

如果源数据看起来不同,可能需要更改格式掩码 ddmmyyyy hh24mi