字符串变表带有表头
发布时间:2020-12-11 23:17:22 所属栏目:MySql教程 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 declare @LSTR_InsertHead varchar(500)--列名declare @LSTR_InsertFields varchar(max)--数据字符串declare @splitrol varchar(2)--行分割符declare
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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 @[email?protected][email?protected] 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 @[email?protected]+''''' as '[email?protected] else set @[email?protected]+','''' as '[email?protected] SET @LSTR_InsertHead = stuff(@LSTR_InsertHead,@LSTR_InsertHead),'') --去掉已截取内容 end /* 以下为生成表 */ set @[email?protected]+' where 1=2 union ' set @LSTR_InsertFields=REPLACE(@LSTR_InsertFields,@splitrol,''' union select ''') set @[email?protected]+'select '''+REPLACE(@LSTR_InsertFields,@splitcol,''',''')+'''' print(@LSTR_InsertFields) exec(@LSTR_InsertFields) 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |