时间戳的ILE RPG SQLStorage Procedure set选项?

时间戳的ILE RPG SQLStorage Procedure set选项?,sql,ibm-midrange,rpgle,Sql,Ibm Midrange,Rpgle,我想用一个存储过程在RPG中创建新记录 首先,我将值分配给表的每个字段。对于时间戳字段,它是 TSTPfield = %TIMESTAMP(); 当我选择创建的记录时,每个记录的时间戳末尾都有三个零,比如2018-06-14-11.01.31.028000 如果我在没有stoed过程的rpg程序中创建记录,则时间戳看起来正常,没有非正常的零 我如何才能得到没有零的正确时间戳?是否必须调整存储过程的.sql文件的设置? 在这里,我定义了以下选项: CREATE OR REPLACE PROCED

我想用一个存储过程在RPG中创建新记录

首先,我将值分配给表的每个字段。对于时间戳字段,它是

TSTPfield = %TIMESTAMP();
当我选择创建的记录时,每个记录的时间戳末尾都有三个零,比如2018-06-14-11.01.31.028000

如果我在没有stoed过程的rpg程序中创建记录,则时间戳看起来正常,没有非正常的零

我如何才能得到没有零的正确时间戳?是否必须调整存储过程的.sql文件的设置? 在这里,我定义了以下选项:

CREATE OR REPLACE PROCEDURE exampleproc 
(
 **fields**
)    
LANGUAGE RPGLE
NOT DETERMINISTIC
MODIFIES SQL DATA
EXTERNAL NAME exampleproc GENERAL
;

我不知道你所说的“我在rpg程序中创建一个记录而没有stoed过程”是什么意思

但RPG只支持3位小数精度

只有时间戳分数秒部分的前三位数字将被设置为非零值。剩余的分数秒将为零


谢谢现在我用一个短的sql字段=当前时间戳来填充该字段,因此我得到了6个分形秒。@nicowi注意到,最近的版本支持高达12位的精度。还要注意,期望时间戳是唯一的是一个坏主意。如果需要一个唯一的时间戳,请考虑使用GeaType UnQuess()。它有一个嵌入的时间戳,并且保证是唯一的。您将如何使用e GENERATE_unique()实现这一点?如何将其分配到我的领域?你能给我举个例子吗?谢谢:)您想为位数据定义列
CHAR(13)