mysql 创建表带编码_字符串变表带有表头

Sqlserver 字符串变为一个表 可以根据需求自行更改,灵活运用 无 declare @LSTR_InsertHead varchar(500)--列名declare @LSTR_InsertFields varchar(max)--数据字符串declare @splitrol varchar(2)--行分割符declare @splitcol varchar(2)--列分隔符set @spli

Sql server

字符串变为一个表

可以根据需求自行更改,灵活运用

declare @LSTR_InsertHead varchar(500)--列名

declare @LSTR_InsertFields varchar(max)--数据字符串

declare @splitrol varchar(2)--行分割符

declare @splitcol varchar(2)--列分隔符

set @splitrol='⒉'

set @splitcol='⒈'

set @LSTR_InsertHead='product⒈unitid⒈levelid⒈cost'--表头参数

set @LSTR_InsertFields='001888⒈8⒈9⒈¥⒉000507⒈⒈⒈¥⒉001339⒈⒈⒈¥⒉001340⒈⒈⒈¥⒉001335⒈⒈⒈¥'--数据参数

set @LSTR_InsertHead=@LSTR_InsertHead+@splitcol

declare @HeadStr varchar(20)--列名

declare @HeadSql varchar(200)--列头生成

set @HeadSql='select '

while CHARINDEX('⒈',@LSTR_InsertHead)<>0

begin

SET @HeadStr = substring(@LSTR_InsertHead,1,charindex(@splitcol,@LSTR_InsertHead)-1)--截取表头

if@HeadSql='select '

set @HeadSql=@HeadSql+''''' as '+@HeadStr

else

set @HeadSql=@HeadSql+','''' as '+@HeadStr

SET @LSTR_InsertHead = stuff(@LSTR_InsertHead,1,charindex(@splitcol,@LSTR_InsertHead),'') --去掉已截取内容

end

/*

以下为生成表

*/

set @HeadSql=@HeadSql+' where 1=2 union '

set @LSTR_InsertFields=REPLACE(@LSTR_InsertFields,@splitrol,''' union select ''')

set @LSTR_InsertFields=@HeadSql+'select '''+REPLACE(@LSTR_InsertFields,@splitcol,''',''')+''''

print(@LSTR_InsertFields)

exec(@LSTR_InsertFields)

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值