我正在使用Groovy / Grails框架,我使用
从mysql DB获取Bigdecimal值Query = "select d.quantitativeData FROM MyTable d where d.segment.id = " + segmentid +
" and d.sustainabilityIndicatorSubQuestion.id = "+questionid+" and d.tenantId= " +
TenantUtils.getCurrentTenant()+" order by d.id desc",[max:1]"
quantitativeData是一个Bidgecimal变量。
但是从这个查询中检索的值就像“0E-20”格式,但数据库中的值如'121.00000000000',如何解决这个问题,任何人都可以帮助我。
提前致谢。
答案 0 :(得分:2)
BigDecimal
正在转换为字符串"0E-20"
,因为您通过将字符串连接在一起而不是使用?
查询占位符来构建查询。
如果使用占位符而不是字符串连接,它将解决此问题并使您免受SQL注入攻击。