无法确定 SQL 中的数据类型 Like operator with params
Could not determine data type in SQL Like operator with params
我正在尝试编写一个“select”,在“like”运算符中包含一个参数。这是我的代码:
val result = connection.queryWithParamsAwait(
"select * from users where username like '%?%'",
jsonArrayOf(query)
)
但是我收到这个错误:
could not determine data type of parameter
我怀疑是引号引起的,所以我也试过了:
val result = conn.queryWithParamsAwait(
"select * from users where username like ?",
jsonArrayOf("\'%$query%\'")
)
它没有崩溃,但是 returns 没有结果,它应该。
我正在使用这个客户端:https://github.com/vert-x3/vertx-mysql-postgresql-client
连接通配符和参数:
like '%' || ? || '%'
您可能会发现正则表达式更方便:
where username ~ ?
正则表达式匹配字符串中的任何位置,因此您不需要在开头和结尾使用通配符。
如果 ?
仅由数字和字母组成 - 也就是说,如果它没有特殊的正则表达式字符,则没有问题。但是,这可能是您拥有正则表达式的强大功能。
我正在尝试编写一个“select”,在“like”运算符中包含一个参数。这是我的代码:
val result = connection.queryWithParamsAwait(
"select * from users where username like '%?%'",
jsonArrayOf(query)
)
但是我收到这个错误:
could not determine data type of parameter
我怀疑是引号引起的,所以我也试过了:
val result = conn.queryWithParamsAwait(
"select * from users where username like ?",
jsonArrayOf("\'%$query%\'")
)
它没有崩溃,但是 returns 没有结果,它应该。
我正在使用这个客户端:https://github.com/vert-x3/vertx-mysql-postgresql-client
连接通配符和参数:
like '%' || ? || '%'
您可能会发现正则表达式更方便:
where username ~ ?
正则表达式匹配字符串中的任何位置,因此您不需要在开头和结尾使用通配符。
如果 ?
仅由数字和字母组成 - 也就是说,如果它没有特殊的正则表达式字符,则没有问题。但是,这可能是您拥有正则表达式的强大功能。