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

时间:2016-09-10 03:24:01

标签: mysql

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

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

我希望像

一样使用它
select * from table where id in (unhex('5534B753765411E6B3FA0021004B111C'),unhex('1668309A6E6F11E6B405F819928F1AD1'),unhex('4FE75C954EEB11E6BB970F782D79D6C8'))

2 个答案:

答案 0 :(得分:1)

IN也支持SELECT语句,因此你可以尝试使用这样的功能:

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

答案 1 :(得分:0)

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