用户提问
比如:
'39982665399','39023431098','39764974481','39055572973','39897342743','40127675336','40174795679'
有这么几个数字,怎么写sql能出来列的效果比如:
|id|
|'39982665399'|
|'39023431098'|
|'39764974481'|
|'39055572973'|
|'39897342743'|
|'40127675336'|
|'40174795679'|
推荐答案
db2数据库 有个values函数可用于你说的这种操作,但是mysql本身是 没有这样的函数的。
下面是取巧的一种写法,也能得到你想要的数据。如图:
12345678910
select trim(substring_index(substring_index(a.num,',',b.help_topic_id + 1),',' ,- 1)) AS numbfrom (select '39982665399,39023431098,39764974481,39055572973,39897342743,40127675336,40174795679' as num from dual ) a JOIN apsc.help_topic b ON b.help_topic_id
辅助答案
用户:走在木星的鹿
2019年02月07日
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
希望能帮到你!
用户:loveangel568
2019年03月10日
这种活好像mysql 做不了吧,的自己写程序做吧
用户:赵涛1212
2019年02月06日
用oracle模拟实现下,mysql中就需要考虑下dual的另类表达方式
用户:霍格茨向前跑
2019年02月10日
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL
);
insert into tmp_table (name) values ('name1'),('name2'),('name3');