首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一个数据库有关问题

2012-08-03 
一个数据库问题现在数据中有一个字段 a,b,c,d我要变成列名abcd[解决办法]SQL codeDECLARE @s VARCHAR(1000

一个数据库问题
现在数据中有一个字段 a,b,c,d 
 我要变成

  列名
  a
  b
  c
  d

[解决办法]

SQL code
DECLARE @s VARCHAR(1000)SET @s = 'a,b,c,d'--1.DECLARE @s1 VARCHAR(1000)SET @s1 = RIGHT(REPLACE(',' + @s, ',', ''' AS s UNION SELECT '''),                LEN(REPLACE(',' + @s, ',', ''' AS s UNION SELECT ''')) - 12) + ''''EXEC(@s1)--2SELECT  REPLACE(REVERSE(( LEFT(s, CHARINDEX(',', s)) )), ',', '') AS SFROM    ( SELECT  r ,                  REVERSE(LEFT(@s, r)) + ',' AS s          FROM    ( SELECT  ( SELECT COUNT (*) FROM sysobjects WHERE name<= t.name                            ) AS r                    FROM    sysobjects t                  ) a          WHERE   r <= LEN(@s)                  AND LEFT(@s + ',', r + 1) LIKE '%,'        ) tORDER BY r
[解决办法]
我发现嫂子写代码巨快而且巨霸气的
[解决办法]
SQL code
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'tba')BEGIN    DROP TABLE tbaENDGOCREATE TABLE tba(    ID INT,    Memo VARCHAR(100))GOINSERT INTO tbaSELECT 1,'a,b,c,d' UNIONSELECT 2,'e,f,g,h,k'GODECLARE @sql VARCHAR(1000) = ''SELECT @sql = @sql + 'SELECT ''' + REPLACE(Memo, ',', ''' AS Col UNION SELECT ''') + ''' UNION 'FROM tbaSET @sql = LEFT(@sql,LEN(@sql) - 5)EXEC (@sql)Colabcdefghk
[解决办法]
探讨

SQL code
DECLARE @s VARCHAR(1000)
SET @s = 'a,b,c,d'
--1.
DECLARE @s1 VARCHAR(1000)
SET @s1 = RIGHT(REPLACE(',' + @s, ',', ''' AS s UNION SELECT '''),
LEN(REPLACE(',' + @s, ',', ''' ……

热点排行