我想对逗号分隔的字符串中的每个项目使用unhex函数。在这个字符串中,这个二进制id作为前端发送的字符串。
select * from table where id in
('5534B753765411E6B3FA0021004B111C,1668309A6E6F11E6B405F819928F1AD1,4FE75C954EEB11E6BB970F782D79D6C8')
我希望像
一样使用它select * from table where id in (unhex('5534B753765411E6B3FA0021004B111C'),unhex('1668309A6E6F11E6B405F819928F1AD1'),unhex('4FE75C954EEB11E6BB970F782D79D6C8'))
答案 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');