name enabled description rely_job
Job_Temp 1 Job_Temp1 Job_Temp1 Job_Temp2 Job_Temp3 Job_Temp4类似上面的一个格式,我想要下面的格式name enabled description rely_job
Job_Temp 1 Job_Temp1 Job_Temp1
Job_Temp 1 Job_Temp1 Job_Temp2
Job_Temp 1 Job_Temp1 Job_Temp3
Job_Temp 1 Job_Temp1 Job_Temp4行转列似乎搞不定这种的,求解
Job_Temp 1 Job_Temp1 Job_Temp1 Job_Temp2 Job_Temp3 Job_Temp4类似上面的一个格式,我想要下面的格式name enabled description rely_job
Job_Temp 1 Job_Temp1 Job_Temp1
Job_Temp 1 Job_Temp1 Job_Temp2
Job_Temp 1 Job_Temp1 Job_Temp3
Job_Temp 1 Job_Temp1 Job_Temp4行转列似乎搞不定这种的,求解
select a.name,a.enabled,a.description,
substring(a.rely_job,b.number,charindex(' ',a.rely_job+' ',b.number)-b.number) rely_job
from tb a,master..spt_values b
where b.type = 'p' and b.number between 1 and len(a.rely_job)
and substring(' '+a.rely_job,b.number,1) = ' '
create table tb(name varchar(100),enabled int, description varchar(100), rely_job varchar(100))
insert tb
select 'Job_Temp' ,1 ,'Job_Temp1','Job_Temp1 Job_Temp2 Job_Temp3 Job_Temp4'
select tb.name,enabled, description,
rely_job=substring(rely_job,number,charindex(' ',rely_job+' ',number)-number) from tb,master..spt_values a
where type='p' and charindex(' ',' '+rely_job,number)=numberdrop table tb
rely_job=substring(rely_job,number,charindex(' ',rely_job+' ',number)-number)
第一位的位置是从number
第二位的位置:charindex(' ',rely_job+' ',number)
相减得到长度:charindex(' ',rely_job+' ',number)-number
substring(rely_job,number,charindex(' ',rely_job+' ',number)-number) as rely_job
有什么区别,我印象有种表达式是用类似的=号,是这个么