sql中條件判斷

<select id="getAutoPayoutBankList_Oracle"  resultClass="java.util.HashMap" parameterClass="java.util.HashMap">
		SELECT distinct A.PAYOUTBANK_ID
		  FROM TF_PAYOUTBANK A, TF_BANK_TRADE_INFO B ,tf_account c
		 WHERE A.ACCOUNT_PAYOUT = B.ACCOUNT_NO and b.account_no = c.account_no 
		   AND A.MONEY_SUM = B.TRADE_AMOUNT
		    <isEmpty  property="days">
			    <isEqual  property="time" compareValue="0">
			   <![CDATA[AND A.INIT_TIME < B.TRADE_TIME]]>
			   </isEqual>
			   <isNotEqual  property="time" compareValue="0">
			   <![CDATA[AND  to_char( (to_date(A.INIT_TIME,'yyyymmddhh24miss')-$time$ ),'yyyymmddhh24miss' ) < B.TRADE_TIME]]>
			   </isNotEqual>
		   </isEmpty>
		   AND B.TRADE_TYPE = '1'
		   AND B.DO_STATUS = '0'
		   AND B.IS_CHECK = '0' 
		   AND A.IS_CHECK = '0'
		   AND A.TICKET_STATUS = '1'
		   AND A.CONNECT_STATUS in ('0','11','21') and A.IS_PAY ='0' 
		   <dynamic prepend="AND">
    		 <isEmpty prepend="AND" property="checkNo">
            	  A.CHECK_NO = B.CHECK_NO
            </isEmpty>
            <isNotEmpty prepend="AND" property="days">
            	  to_date(substr(A.PWD_CREATE_TIME,1,8),'yyyymmdd')+#days#  >= to_date(substr(B.TRADE_TIME,1,8),'yyyymmdd')
            </isNotEmpty>
            <isNotEmpty prepend="AND" property="months">
            	 B.TRADE_TIME >= to_char(add_months(sysdate,-#months#),'yyyymmdd')||'000000'
            </isNotEmpty>
            <isNotEmpty prepend="AND" property="initCorpCode">
              	A.INIT_dept_CODE like '$initCorpCode$%'
            </isNotEmpty>
            <isNotEmpty prepend="AND" property="accountTypeOfficial">
            	 c.ACCOUNT_TYPE_CODE != #accountTypeOfficial#
            </isNotEmpty>
            <isNotEmpty prepend="AND" property="pwdBeginTime">
            	 <![CDATA[ B.TRADE_TIME >=#pwdBeginTime# ]]>
            </isNotEmpty>
            <isNotEmpty prepend="AND" property="pwdEndTime">
            	  <![CDATA[ B.TRADE_TIME <=#pwdEndTime#|| '9' ]]>
            </isNotEmpty>
           </dynamic> 
	</select>

 

通過

		    <isEmpty  property="days">
			    <isEqual  property="time" compareValue="0">
			   <![CDATA[AND A.INIT_TIME < B.TRADE_TIME]]>
			   </isEqual>
			   <isNotEqual  property="time" compareValue="0">
			   <![CDATA[AND  to_char( (to_date(A.INIT_TIME,'yyyymmddhh24miss')-$time$ ),'yyyymmddhh24miss' ) < B.TRADE_TIME]]>
			   </isNotEqual>
		   </isEmpty>

判斷是否要執行的條件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章