在 spring boot for postgresql 中的 createNativeQuery () 的 split_part () 处或附近的错误语法错误

error syntax error at or near ":" for split_part () of createNativeQuery in spring boot for postgresql

我在执行包含

的查询时遇到 SQL 异常
split_part() method as split_part(value::TEXT,':', 1).
String queryStr = " select split_part(value::TEXT,':', 1) from table";

Query query = entityManager.createNativeQuery(queryStr);
List results = query.getResultList();
ERROR 2020-02-10 14:54:37,926 [http-nio-7070-exec-1] 142 - ERROR: syntax error at or near ":"
  Position: 855 

您的混淆层可能会阻塞 :: 运算符。请改用 cast() 运算符:

String queryStr = " select split_part(cast(value as text),':', 1) from table";

但是你为什么认为你需要先演员表?如果您正在存储该列的 : 个字符,那么它很可能是一个 text(或 varchar)列,您根本不需要强制转换。