Я использую jOOQ в качестве построителя SQL, и я пытаюсь построить простой оператор обновления следующим образом:
DSL.using(SQLDialect.POSTGRES_9_5)
.update(table("Location"))
.set(field("speed"), 50)
.set(field("location"), "ST_PointFromText('POINT(-73 40)', 4326)")
.where(field("id").equal(1))
.getSQL(ParamType.INLINED);
Как видите, я использую Postgres и PostGIS, поэтому мне нужно вставитьместоположение с использованием метода PostGIS ST_PointFromText () .
Сгенерированный SQL выглядит следующим образом и завершается ошибкой, поскольку ST_PointFromText () заключен в одинарные кавычки:
update Location
set speed = 50, location = 'ST_PointFromText(''POINT(-73 40)'', 4326)'
where id = 1
Запрос должен быть:
update Location
set speed = 50, location = ST_PointFromText('POINT(-73 40)', 4326)
where id = 1
Есть ли способ удалить кавычки вокруг ST_PointFromText () ?