在DB2 String替换中

时间:2013-08-26 07:09:25

标签: sql string db2

我的DB2数据库中有两个字段:DATE和TIME。 DATE是字符串(2013年8月25日),DATE是时间戳(1/1/1970 7:00:00 AM)。我想写一个sql用8/25/2103替换1/1/1970。请帮忙。

感谢。

2 个答案:

答案 0 :(得分:2)

嗯,您需要使用DATE函数

将字符串转换为日期
DATE(DATE)

如果您认为使用现有函数名称命名列是个坏主意......

然后合并TIMESTAMPDATETIME函数(再次真的不清楚您的字段名称,但是......)

TIMESTAMP(DATE(DATE), TIME(TIME))

将为您提供日期部分来自DATE字段的时间戳,以及来自TIME字段的时间部分

请参阅thisthat

答案 1 :(得分:0)

在转换为DATE格式后,添加这两个绝对日期之间的差异应该有效 -

UPDATE <table-name> 
SET DATE= DATEADD(day,DATEDIFF(day,'1/1/1970','8/25/2013'),DATE)
WHERE DATE < '1/2/1970' AND DATE>='1/1/1970'

有关DATEADDDATEDIFF的更多信息 此外,建议不要使用“DATE”作为列名,因为它是保留的[edit]函数名称。