我根本不熟悉DB2语法,所以需要一些指导,以下是我试图在DB2(版本8.2.4)代码中转换的ms sql代码
declare @d datetime, @mydate varchar(16)
set @d = GETDATE()
--create formatted datetime[yyyyMMdd-hhmmss]
set @mydate = convert(varchar,@d,112)+'- '+convert(varchar,datepart(hh,@d))+convert(varchar,datepart(mi,@d))+convert(varchar,datepart(ss,@d))
select @mydate as MyDate
但是我绝对没有运气,我尝试使用以下语法
分配变量DECLARE c_date Date;
SELECT CURRENT_TIMESTAMP INTO c_date FROM SYSIBM.SYSDUMMY1
没有运气..我使用另一种格式来创建变量(CREATE VARIABLE),我用Google搜索并找到了一些资源,但由于某些原因,在我的情况下,我无法做我想做的事情..希望有人可以解释一下...... 感谢
答案 0 :(得分:0)
我认为您的问题是DB2 tiemstamp与MySql或Oracle时间戳非常不同
您可以使用以下systax分配时间戳
TSCOL = '2014-12-31-23:59:59.123456' -- notice microseconds are required !!
TSCOL = '2014-12-31 23:59:59.123456' -- for newer versions of DB2 with ISO dateformat set!!
或
TSCOL = TIMESTAMP(DATECOL,TIMECOL)
答案 1 :(得分:0)
您似乎正在尝试获取当前时间戳,但以某种方式格式化。由于DB2 8.2没有有用的TIMESTAMP_FORMAT
函数,因此可以使用以下命令:
select
cast(int(current date) as char(8)) || '-' || cast(int(current time) as char(6)) as mydate
from
sysibm.sysdummy1
返回:
MYDATE
---------------
20131203-234912