db2数据库 有个values函数可用于你说的这种操作,但是mysql本身是 没有这样的函数的。
下面是取巧的一种写法,也能得到你想要的数据。如图:
select
trim(substring_index(substring_index(a.num,',',b.help_topic_id + 1),',' ,- 1)) AS numb
from (
select
'39982665399,39023431098,39764974481,39055572973,39897342743,40127675336,40174795679' as num
from dual ) a
JOIN apsc.help_topic b ON b.help_topic_id <(length(a.num) - length( REPLACE(a.num, ',', '') ) + 1 )
希望能帮到你!
db2数据库 有个values函数可用于你说的这种操作,但是mysql本身是 没有这样的函数的。
下面是取巧的一种写法,也能得到你想要的数据。如图:
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL
);
insert into tmp_table (name) values ('name1'),('name2'),('name3');
字符串按照逗号切割,切割后 插入临时表,然后输出临时表即可
用oracle模拟实现下,mysql中就需要考虑下dual的另类表达方式