ORA-01722:带有to_char时间戳

时间:2016-04-12 11:34:09

标签: oracle

首先,我要插入的表是这个表:

 CREATE TABLE Message
(
   MessageID varchar2(80) NOT NULL,
   Message varchar2(500),
   SendDate date NOT NULL,     
   SendID varchar2(50) NOT NULL,
   Request_ID varchar2(50) NOT NULL,
   PRIMARY KEY (MessageID)
);

我的插入查询是这个(Spring,mybatis):

 INSERT INTO message (
      messageid
    , message
    , senddate
    , sendId
    , request_Id
)VALUES(
      #{sendidjbuser} + TO_CHAR(systimestamp, 'yyyymmddhh24missff3')
    , #{message}
    , sysdate
    , #{sendidjbuser}
    , #{requestIdjbuser}
)

我在cmd上尝试了这个,上面这个问题的部分是问题:

INSERT INTO message (messageId) VALUES('sendId' + TO_CHAR(systimestamp, 'yyyymmddmissff3'))

我正在使用Oracle 11.我只是尝试插入TO_CHAR(systimestamp,'yyyymmddmissff3')而不将其添加到字符串中并且它有效。但我确实需要这部分工作。有没有正确的方法呢?

1 个答案:

答案 0 :(得分:1)

在Oracle中,请使用||或CONCAT()函数来连接字符串。您正在使用' +'因此收到错误。