<select id="getPipeAgeAnalysis" parameterType="java.util.Map" resultType="java.util.Map">
<![CDATA[
select key as "key",value as "value"
from(
select
sum(case when a.years<=5 then 1 else 0 end) as "5"
,sum(case when a.years>=6 and a.years<=8 then 1 else 0 end) as "6-8"
,sum(case when a.years>=9 and a.years<=11 then 1 else 0 end) as "9-11"
,sum(case when a.years>=12 and a.years<=14 then 1 else 0 end) as "12-14"
,sum(case when a.years>=15 then 1 else 0 end) as "15"
from (
select months_between(sysdate,BUILD_DATE)/12 years
from PL_EQPIPE_T
where 1=1
]]>
<if test="companyCode != null and companyCode != ''">
and company_code=#{companyCode}
</if>
) a) v
unpivot
(value for key in ("5","6-8","9-11","12-14","15"))
</select>
放到plsql中可以運行,mybatis中報錯,錯誤資訊堆疊:
nested exception is java.sql.SQLException: sql injection violation, syntax error: syntax error, expect RPAREN, actual FOR pos 516, line 18, column 10, token FOR : select key as "key",value as "value"
from(
select
sum(case when a.years<=5 then 1 else 0 end) as "5"
,sum(case when a.years>=6 and a.years<=8 then 1 else 0 end) as "6-8"
,sum(case when a.years>=9 and a.years<=11 then 1 else 0 end) as "9-11"
,sum(case when a.years>=12 and a.years<=14 then 1 else 0 end) as "12-14"
,sum(case when a.years>=15 then 1 else 0 end) as "15"
from (
select months_between(sysdate,BUILD_DATE)/12 years
from PL_EQPIPE_T
where 1=1
) a) v
unpivot
(value for key in ("5","6-8","9-11","12-14","15"))]
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......