公司性质: 股份制企业 员工人数: 少于50人 注册资金: 10 万 成立日期: 1997
公司性质: 民营企业 员工人数: 少于50人 注册资金: 128 万 成立日期: 1998
公司性质: 私营企业 员工人数: 少于50人 注册资金: 20 万 成立日期: 2008以上数据存在一个字段内想分解成以下四个字段
公司性质
员工人数
注册资金
成立日期
公司性质: 民营企业 员工人数: 少于50人 注册资金: 128 万 成立日期: 1998
公司性质: 私营企业 员工人数: 少于50人 注册资金: 20 万 成立日期: 2008以上数据存在一个字段内想分解成以下四个字段
公司性质
员工人数
注册资金
成立日期
解决方案 »
- delete 一行记录后对 identity字段的影响,求助!
- 对于局部变量,text、ntext 和 image 数据类型无效。
- 用一个表中的a字段去替换该表中的b字段,请大家帮忙
- 不同数据库数据抓取如何实现啊
- 三个字段,userid,productname,updatetime,要求写出每个userid最后更新的单一productname,按updatetime降序排列!求Sql
- 不知这个需求怎么说了,行转列还是列转行,大牛们来看一下
- SQL如何做到不排序?
- asp.net例子与sqlserver连接问题??
- sp_addumpdevice创建网络磁盘路径的设备应该怎么写啊
- linux下连接sql server
- 关于sql数据统计的问题
- SQL顶尖高手入,SQL查询语句问题
select @str = N'公司性质: 股份制企业 员工人数: 少于50人 注册资金: 10 万 成立日期: 1997',@s=''declare @t table (str1 nvarchar(100),str2 nvarchar(100))
insert @t
select N'公司性质: ',''
union select N'员工人数: ','.'
union select N'注册资金: ','.'
union select N'成立日期: ','.'update @t
set @s = replace(@str,str1,str2),@str = @sselect '公司性质'=parsename (@str,4),'员工人数'=parsename (@str,3),'注册资金'=parsename (@str,2),'成立日期'=parsename (@str,1)
/* 结果 公司性质 员工人数 注册资金 成立日期
------------- ----------- --------- ----------
股份制企业 少于50人 10 万 1997(1 row(s) affected) */
if object_id('[tb]') is not null drop table [tb]
create table tb(code varchar(100))
insert into tb
select '公司性质: 股份制企业 员工人数: 少于50人 注册资金: 10 万 成立日期: 1997' union all
select '公司性质: 民营企业 员工人数: 少于50人 注册资金: 128 万 成立日期: 1998' union all
select '公司性质: 私营企业 员工人数: 少于50人 注册资金: 20 万 成立日期: 2008' while exists(select 1 from [tb] where charindex(':',code)>0)
begin
update tb set code=stuff(code,charindex(':',code)-4,5,',')
where charindex(':',code)>0
end
update tb set code=replace(stuff(code,1,1,''),' ','')create table table_work(company varchar(20),people varchar(20),fund varchar(20),createyear char(4))declare @code varchar(8000)
DECLARE cur_temp Cursor For
select code from tb
OPEN cur_temp
FETCH cur_temp Into @code
while @@fetch_status = 0
begin
select @code='insert into table_work select '''+replace(@code,',',''',''')+''''
exec(@code)
FETCH cur_temp Into @code
endClose cur_temp
Deallocate cur_temp
select * from table_workdrop table table_work
--------------------------------股份制企业 少于50人 10万 1997
民营企业 少于50人 128万 1998
私营企业 少于50人 20万 2008
insert into tb values(N'公司性质: 股份制企业 员工人数: 少于50人 注册资金: 10 万 成立日期: 1997')
insert into tb values(N'公司性质: 民营企业 员工人数: 少于50人 注册资金: 128 万 成立日期: 1998')
insert into tb values(N'公司性质: 私营企业 员工人数: 少于50人 注册资金: 20 万 成立日期: 2008')
goselect 公司性质 = substring(col , charindex('公司性质: ',col) + 6 , charindex('员工人数',col) - charindex('公司性质: ',col) - 6 - 1) ,
员工人数 = substring(col , charindex('员工人数: ',col) + 6 , charindex('注册资金',col) - charindex('员工人数: ',col) - 6 - 1) ,
注册资金 = substring(col , charindex('注册资金: ',col) + 6 , charindex('成立日期',col) - charindex('注册资金: ',col) - 6 - 1) ,
成立日期 = substring(col , charindex('成立日期: ',col) + 6 , len(col))
from tbdrop table tb /*公司性质 员工人数 注册资金 成立日期
---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
股份制企业 少于50人 10 万 1997
民营企业 少于50人 128 万 1998
私营企业 少于50人 20 万 2008(所影响的行数为 3 行)*/