我有一个基本上更新某些行的LASTUPDATE时间的存储过程,我希望在存储过程中有一个变量,基本上是:Date + " " + "20:30:00"
所以当存储过程运行时,它看起来像这样:
update
person
set
LASTUPDATETIME='2012-06-18 20:30:00',
NAME='Mike',
where (
SOME_PK='123'
);
但如果我明天要运行存储过程,它会是这样的:
update
person
set
LASTUPDATETIME='2012-06-19 20:30:00',
NAME='Mike',
where (
SOME_PK='123'
);
P.S时间永远不会改变,无论何时调用程序,它都应该始终是20:30:00,我只对格式为年 - 月 - 日的日期感兴趣。
感谢您的帮助!
答案 0 :(得分:1)
您可以使用VARCHAR_FORMAT()
函数将当前日期作为字符串,然后将硬编码时间附加到其中:
SELECT VARCHAR_FORMAT(CURRENT_TIMESTAMP, 'YYYY-MM-DD') || ' 20:30:00'
FROM SYSIBM.SYSDUMMY1
如果要将结果存储为TIMESTAMP
数据类型,可以使用TIMESTAMP
函数:
SELECT TIMESTAMP(CURRENT_DATE, '20:30:00')
FROM SYSIBM.SYSDUMMY1
在DB2 for Linux / Unix / Windows和z / OS上测试。