日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Java报错】GP数据库 function point(unknown) is not unique.Could not choose a best candidate function 问题解决

發布時間:2024/10/6 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java报错】GP数据库 function point(unknown) is not unique.Could not choose a best candidate function 问题解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.問題說明

方法是要查詢坐標所在的區域:

// 前臺獲取的經緯度坐標String coordinates = longitude + "," + latitude;Map<String, Object> parameter = new HashMap<>(2);parameter.put("coordinates", coordinates);// 調用 mapper 內的方法List<Map<String, Object>> list = commonMapper.getDivisionInfoByCoordinates(parameter);

下面是 Mapper 文件內的 SQL:

<!--判斷坐標地址所在的區劃--><select id="getDivisionInfoByCoordinates" resultType="map" parameterType="map">SELECTid,ext_path AS "divisionInfo"FROMdata_administrative_divisions_geoWHEREpoint( #{coordinates} ) <![CDATA[<@]]> polygon( PATH ( polygon ) )ORDER BYdeep DESC</select>

查詢報錯:

Consume Time2 ms 2022-02-21 16:20:35 Execute SQL: SELECT id, ext_path AS "divisionInfo" FROM data_administrative_divisions_geo WHERE point( '114.612966,34.74828' ) <@ polygon( PATH ( polygon ) ) ORDER BY deep DESCError querying database. Cause: java.sql.SQLSyntaxErrorException: [Pivotal][Greenplum JDBC Driver][Greenplum]function point(unknown) is not unique. Could not choose a best candidate function. You might need to add explicit type casts.

將 p6spy 打印出來的 SQL 粘貼到 Navicat 內執行,可以獲取結果 😢

2.問題解決

方法 1?? 把point( #{coordinates} )修改為point( ${coordinates} )也就是 # --> $ 也就是函數的入參變為數值,數值:

<!--判斷坐標地址所在的區劃--><select id="getDivisionInfoByCoordinates" resultType="map" parameterType="map">SELECTid,ext_path AS "divisionInfo"FROMdata_administrative_divisions_geoWHEREpoint( ${coordinates} ) <![CDATA[<@]]> polygon( PATH ( polygon ) )ORDER BYdeep DESC</select>

方法 2?? 把point( #{coordinates} )修改為CAST ( #{coordinates} AS POINT ),這種方法跟提示信息 You might need to add explicit type casts. 您可能需要添加顯式類型轉換。是一致的:

<!--判斷坐標地址所在的區劃--><select id="getDivisionInfoByCoordinates" resultType="map" parameterType="map">SELECTid,ext_path AS "divisionInfo"FROMdata_administrative_divisions_geoWHERECAST ( #{coordinates} AS POINT ) <![CDATA[<@]]> polygon( PATH ( polygon ) )ORDER BYdeep DESC</select>

總結

以上是生活随笔為你收集整理的【Java报错】GP数据库 function point(unknown) is not unique.Could not choose a best candidate function 问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。