2017-12-21 11 views
0

私はmybatisを使用しています。結果を得るために、以下のクエリを実行しようとしています。 JavaコードでgetSqlSession()。selectOne()がNULLを返します

<select id="getMaxSeqNumFromTrans" parameterType="com.abc.ContributionsRequestParamDto" resultType="java.lang.Integer" > 
    SELECT MAX(SEQ_NMBR) MAXNUMBER FROM DB2.A_PDC_TRNS WHERE TOKEN_ID = #{tokenID} AND RSLT_TYP = 10 

私はquery-

Integer maxSeqNumber = getSqlSession().selectOne("getMaxSeqNumFromTrans", contributionsParam); 

上で実行するには、このコードを使用しています。しかし、このコードは、私にはnullを返します。私はここで何がうまくいかないのか分からない。私は何か見落としてますか?

+0

'SELECT COALESCE(MAX(SEQ_NMBR)、0)MAXNUMBER ... 'を使用しようとしています –

+0

これは動作します。どうもありがとうございます ! – user2998616

+0

これはこれを聞いていいです、幸運:) –

答えて

0

質問に問題があるようです。 WHERE句に行が見つからない場合、MAXはnullを返します。

いくつかのツールを使用してサーバー上で手動でクエリを実行しようとしましたか?

+1

はい。あなたが正しいです。 @YCF_Lによって提案されたようにクエリを変更しました – user2998616

+0

それを聞いてうれしい:) –

関連する問題