ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0情况解决

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

  1. 报错:ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0

  2. 我的sql是:

	<!-- 查询  推荐下载记录 -->
	<select id="selectAllRecommendRecord" parameterType="RecommendRecord" resultMap="RecommendRecordResultMap">
		 SELECT 
            distinct(theUser.ACCOUNT) AS ACCOUNT,
            theUser.id AS ID,           
            theUser.REGISTER_DATE AS REGISTER_DATE,
            theUser.PROVINCE AS PROVINCE,
            theUser.REGIOIN AS REGIOIN,
            record.CREATE_DATE,        
            product.FORMAT AS FORMAT,    
            record.STATUS,    
            record.IS_NOTIFY,    
            record.DOWNLOAD_COUNT
        FROM TB_RECOMMEND_RECORD record ,TB_USER theUser ,TB_RECOMMEND_PRODUCT product
        <where>
	        	record.USER_ID = theUser.ID
	        	AND record.RECOMMEND_ID = product.ID
		    <if test="account != null and account != ''">
		    	AND theUser.ACCOUNT LIKE '%'||#{account}||'%'
		    </if>
		    <if test="regioin != null and regioin != ''">
		    	AND theUser.regioin LIKE '%'||#{regioin}||'%'
		    </if>
		    <if test="province != null and province != ''">
		    	AND theUser.province  LIKE '%'||#{province}||'%'
		    </if>
	      	    <if test="status != null and status != '' and status.code != null and status.code != ''" >
	       	 	AND record.STATUS = #{status.code}
	      	    </if>
	      	    <if test="startDate != null and startDate != ''">
		    	AND record.CREATE_DATE >= TO_DATE(#{startDate},'yyyy-mm-dd hh24:mi:ss')
		    </if>
		    <if test="endDate != null and endDate != ''">
		    	AND record.CREATE_DATE <![CDATA[ <= ]]> TO_DATE(#{endDate},'yyyy-mm-dd hh24:mi:ss')
		    </if>
		</where>
        GROUP BY ACCOUNT ,theUser.REGISTER_DATE, PROVINCE,REGIOIN, record. CREATE_DATE, FORMAT, STATUS, IS_NOTIFY, DOWNLOAD_COUNT, theUser.id
        ORDER BY DOWNLOAD_COUNT DESC
	</select>

3. 我的年份本身没有问题,问题是startDate和endDate 这2个参数。本来是在页面上作了时间条件查询,后来不要了,我忘记了去掉sql中对时间的过滤。

 

 

于是传给sql的startDate和endDate 的值都是undefine。就报这个错了。我这情况去掉这2个时间过滤,这个sql就OK 了。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值