问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql怎么把固定的几个字符串,转成列的形式作为临时表查询

发布网友 发布时间:2022-04-08 09:43

我来回答

10个回答

懂视网 时间:2022-04-08 14:05

Select 2 a.xm,xk=substring(a.xk,b.number,charindex(‘,‘,a.xk+‘,‘,b.number)-b.number) 3 from 4 表A a join master..spt_values b 5 ON b.type=‘p‘ AND b.number BETWEEN 1 AND LEN(a.xk) 6 where 7 substring(‘,‘+a.xk,b.number,1)=‘,‘

--1.将字符串转换为列显示 
if object_id(‘tb‘) is not null drop table tb 
go 
create table tb([编号] varchar(3),[产品] varchar(2),[数量] int,[单价] int,[金额] int,[序列号] varchar(8)) 
insert into tb([编号],[产品],[数量],[单价],[金额],[序列号]) 
select ‘001‘,‘AA‘,3,5,15,‘12,13,14‘ union all
select ‘002‘,‘BB‘,8,9,13,‘22,23,24‘
go 
select [编号],[产品],[数量],[单价],[金额] 
,substring([序列号],b.number,charindex(‘,‘,[序列号]+‘,‘,b.number)-b.number) as [序列号] 
from tb a with(nolock),master..spt_values b with(nolock) 
where b.number>=1 and b.number<=len(a.[序列号]) and b.type=‘P‘
and substring(‘,‘+[序列号],number,1)=‘,‘
go 
drop table tb 
go 
/** 
编号 产品 数量  单价  金额  序列号 
---- ---- ----------- ----------- ----------- -------- 
001 AA 3  5  15  12 
001 AA 3  5  15  13 
001 AA 3  5  15  14 
002 BB 8  9  13  22 
002 BB 8  9  13  23 
002 BB 8  9  13  24 
*/ 
---------- 

 

--7.将字符串显示为行列 
if object_id(‘tb‘) is not null 
  drop table tb
create table tb
(
  id int identity(1,1),
  s nvarchar(100)
) insert into tb(s) select ‘车位地址1,车位状况1|车位地址2,车位状况2|车位地址n,车位状况n‘;

with cte as(   select substring(s,number,charindex(‘|‘,s+‘|‘,number)-number) as ss     from tb with(nolock),master..spt_values with(nolock)       where type=‘P‘ and number>=1 and number<=len(s) and substring(‘|‘+s,number,1)=‘|‘ )
select left(ss,charindex(‘,‘,ss)-1)as s1,substring(ss,charindex(‘,‘,ss)+1,len(ss))as s2 from cte;
drop table tb /** s1 s2 ----------- ------------ 车位地址1 车位状况1 车位地址2 车位状况2 车位地址n 车位状况n

 

MSSQL将逗号分隔的字符串转换成列显示

标签:

热心网友 时间:2022-04-08 11:13

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 al ) a 
JOIN apsc.help_topic b ON b.help_topic_id <(length(a.num) - length( REPLACE(a.num, ',', '') ) + 1 )


希望能帮到你!

热心网友 时间:2022-04-08 12:31

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 al ) a JOIN apsc.help_topic b ON b.help_topic_id <(length(a.num) - length( REPLACE(a.num, ',', '') ) + 1 )  希望能帮到你!

热心网友 时间:2022-04-08 14:05

CREATE TEMPORARY TABLE tmp_table (
 name VARCHAR(10) NOT NULL
);

insert into tmp_table (name) values ('name1'),('name2'),('name3');


热心网友 时间:2022-04-08 15:57

字符串按照逗号切割,切割后 插入临时表,然后输出临时表即可

热心网友 时间:2022-04-08 18:05


用oracle模拟实现下,mysql中就需要考虑下al的另类表达方式

热心网友 时间:2022-04-08 20:29

楼主请自行百度列转行行转列如何查询。楼主请自行百度列转行行转列如何查询。楼主请自行百度列转行行转列如何查询。

热心网友 时间:2022-04-08 23:11

SELECT '39982665399' id from al
UNION SELECT '39023431098' from al
UNION SELECT '39764974481' from al
UNION SELECT '39055572973' from al
....
这个在数据量较小的情况下可以使用,数据量大时,查询比较费时,我正在寻找其他解决方法。有知道的可以共享一下:D

热心网友 时间:2022-04-09 02:09

mysql可以把多条记录的某个字段拼成一条记录,但是貌似没法把一个字符串拆成多条记录

热心网友 时间:2022-04-09 05:23

这种活好像mysql 做不了吧,的自己写程序做吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
桃李芬芳的近义词是? 请会答正确。 急... 墨西哥很混乱吗 为什么我的OPPOR9手机连接到任何蓝牙设备放歌曲,都没有办法在蓝牙设备... OPPOA9如何连接酷狗与手机蓝牙? 华为荣耀3X 白色畅玩版的声音调至最大声仍很小声 荣耀3x刷机后卸载了一些系统软件,然后就无法开机,一直停留在开机界面... 平安富赢金生年金保险值得买吗?最全产品测评! 收音机音量旋钮音量最大还是小 德生pl_450收音机音量电位器声音惑大惑小,电位器的型号是什么_百度知 ... 浙江金融学院有什么专业 无线路由器隐藏了知道帐号密码怎样用电脑连接 路由器隐藏了怎么连接? 跪求一份入党积极分子转预备党员大会上的发言稿和表态!!!我是在企业里上班,岗位是直流电工。 物业管理专业的学生预备党员转正的发言稿 有一个符号能够代表20个汉字,分别是哪20个? 这几个字怎么打?带符号的 求战队名字,不超过6个字的,带符号的。一个符号也算一个字。 谁能帮我取一个有繁体字并带符号的QQ名字(男名) 速求带有符号的一个字网名? 小花仙好听点的名字 一个字 带符号 一个字的qq网名(带符号),中性一点 去黑头可以去掉脸上黑斑吗 求一个字的网名,要求加点符号的,那个字最好是很有意境的 一个字的网名带符号 一个字的伤感的网名带符号? 脸上有斑能去掉么 一个字,带符号,qq备注 求一个字带符号的网名? 台式电脑加内存条后不显示新内存条,反复几次关机开机实验后,电脑再次开机黑屏,显示屏无信号, 台式新加了一根内存条,电脑每天重启一次,会是什么原因? 隐藏的无线路由器如何连接啊 隐藏路由器diss后手机怎么连接 怎么样用一个路由器连接一个隐藏的路由器 我买了两张火车票 但是买错了 现在想退票 网上预定的 退票的程序是什么?要是退票后能否立即再买票 华为nova3进水了屏幕花了 彩虹 蛋糕 怎么做 的 彩虹蛋糕家常做法,正宗彩虹蛋糕怎么做 彩虹蛋糕的家常做法? 彩虹蛋糕的做法步骤图,彩虹蛋糕怎么做好吃 超简单彩虹蛋糕(有内涵)怎么做好吃 宝宝最爱吃的彩虹蛋糕的做法是什么? 刨花板规格有哪些? 如何制作彩虹蛋糕大吃货爱美食 板材都有哪几种?刨花板好吗?刨花板规格尺寸是多少? 如何制作超级棒的彩虹蛋糕 刨花板的种类有哪些 刨花板有哪些用途 做家具的板材分类 刨花板常见品种有哪些 什么是刨花板,刨花板有什么优缺点? 刨花板有哪些有什么不同?