mysql - 对子句 mysql 中的每个项目使用函数

标签 mysql

我想对字符串中以逗号分隔的每个项目使用 unhex 函数。在此字符串中,该二进制 ID 作为前端发送的字符串。

select * from table where id in
('5534B753765411E6B3FA0021004B111C,1668309A6E6F11E6B405F819928F1AD1,4FE75C954EEB11E6BB970F782D79D6C8')

我想像这样使用它

select * from table where id in (unhex('5534B753765411E6B3FA0021004B111C'),unhex('1668309A6E6F11E6B405F819928F1AD1'),unhex('4FE75C954EEB11E6BB970F782D79D6C8'))

最佳答案

IN 还支持 SELECT 语句,因此您可以尝试使用该功能,如下所示:

SELECT *
FROM table WHERE id IN
(SELECT UNHEX('5534B753765411E6B3FA0021004B111C')
UNION ALL
UNHEX('1668309A6E6F11E6B405F819928F1AD1')
UNION ALL
UNHEX('4FE75C954EEB11E6BB970F782D79D6C8'));

关于mysql - 对子句 mysql 中的每个项目使用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39422203/

相关文章:

MYSQL 使用 2 列限定的其他表的值更新一个表

php - iOS - 了解 PHP JSON 文件何时更新

php - MySQL 语法错误(与 PHP 一起使用)

PHP MySQL - 插入数据时接收邮件

python - 通过Python转换数据类型然后将数据加载到Mysql中

php - 从 php 到 mysql 的日期字段返回错误 0000-00-00

php - MySQL 检查日期范围是否与其他日期范围重叠?

php - PHP/MySQL:如何知道更新是否成功? (当发送更新的数据与数据库中已有的数据相同时)

mysql - 选择给定时间段内某种类型的第一条记录

mysql - 我的 sql 查询根据多个条件对列值求和