Не удается запустить запрос «Where In» в Котлине

Я пытаюсь сделать такой запрос (я работаю с postgres) для работы:

select * from users where user_id in [1,2,3] 

единственная проблема заключается в том, что запрос не может работать с этим типом [1,2,3] из списка его работы только с этим видом (1,2,3).

Я попытался преобразовать список [1,2,3] в список (1,2,3), но в Котлине он мне не позволил.

Мне бы очень хотелось помочь.

Если возможно, предпочтительнее работать с подготовленными операторами вместо динамически генерируемых строк SQL. Выражение con.createArrayOf("INTEGER", array) должно работать в PostgreSQL:

 val array = arrayOf(1, 2, 3) /* * Or: * val data = listOf(1, 2, 3) * val array = data.toTypedArray() */ val con = getConnection() val stmt = con.prepareStatement("select * from users where user_id in ?") stmt.setArray(1, con.createArrayOf("INTEGER", array)) val rs = stmt.executeQuery() 

Вы можете создать функцию расширения для преобразования списка в строку (1,2,3)

 fun List<Int>.toParenthesis() = this.joinToString(separator = ",", prefix = "(", postfix = ")") 

Применение:

 "select * from users where user_id in ${listOf(1,2,3).toParenthesis()}"