2016-04-12 83 views
0

首先无效号码,我试图插入表是这样的表:ORA-01722:与TO_CHAR时间戳

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) 
); 

和我插入查询是这样的(春,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')) 

我在甲骨文11.我只是想只插入TO_CHA R(systimestamp,'yyyymmddmissff3')没有添加到一个字符串,它的工作。但我确实需要这部分工作。有没有正确的方法来做到这一点?

+4

您的concat错误,在文档中使用'||' – MrSimpleMind

+1

[Concatenation operator](http://docs.oracle.com/cd/E11882_01/server.112/e41084/operators003.htm)。 –

回答

1

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

+0

哦,上帝,我有什么问题..无论如何,谢谢。叹.. – SunSun