我在 MySQL 数据库中有一个表,定义类似于以下内容:
CREATE TABLE doc_types (
id INT UNSIGNED PRIMARY KEY,
types SET('foo','bar','baz','quux',...) NOT NULL
)
我想将types
列的值作为逗号分隔的基于 1 的整数偏移列表获取到该设置值列表中,例如"1,3,4"
对于值为 的行"foo,baz,quux"
。(我正在使用的系统中的另一个工具需要这种格式,由于各种实际原因,我无法修改它以接受不同的东西。)内置EXPORT_SET
函数并不完全不同,但它的返回值形式为"1,0,1,1,..."
,本质上是一个以字符串形式表示的 64 元素位集。
有没有什么好的方法可以在单个 SQL 查询中以我上面描述的偏移格式SELECT from doc_types
获取值?types