まず、私は挿入しようとしている表は、この表である: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)
);
と私のINSERTクエリは、この(春、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_CHAを挿入しようとしましたR(systimestamp、 'yyyymmddmissff3')を文字列に追加せずに動作させました。しかし、私は働くにはその部分が必要です。それを行う正しい方法はありますか?
正しく連結されていません。文書内で '||' – MrSimpleMind
[連結演算子](http://docs.oracle.com/cd/E11882_01/server.112/e41084/operators003.htm)を使用してください。 –