日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

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

發布時間:2024/10/6 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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 问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。

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