前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
??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_COUNTFROM TB_RECOMMEND_RECORD record ,TB_USER theUser ,TB_RECOMMEND_PRODUCT product<where>record.USER_ID = theUser.IDAND 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.idORDER BY DOWNLOAD_COUNT DESC</select>
3. 我的年份本身沒有問題,問題是startDate和endDate 這2個參數。本來是在頁面上作了時間條件查詢,后來不要了,我忘記了去掉sql中對時間的過濾。
?
?
于是傳給sql的startDate和endDate 的值都是undefine。就報這個錯了。我這情況去掉這2個時間過濾,這個sql就OK 了。
?