[SQL] 資料的轉置
又是一個簡單的 SQL ,作用應該不大,但是對我來說還蠻好用的,也算是個簡單的練習用 SQL 這裡的轉置不是在說樞紐分析的 PIVOT 及 UNPIVOT ,而是單純資料呈現的轉置 通常我們下的 SQL 可能如下: SELECT * FROM tempdb.dbo.temptable 但是我真的覺得這種橫向的有時會看的很亂,所以我改寫了相關的 CODE 讓輸出的呈現為"直列"來呈現,這段 SQL 主要使用到了 CTE, FOR XML 及 sp_executesql DECLARE @DBCatalog NVARCHAR(128) = N'tempdb' DECLARE @DBSchema NVARCHAR(128) = N'dbo' DECLARE @DBTable NVARCHAR(128) = N'temptable' DECLARE @Condition NVARCHAR(MAX) = N'ID = 1' DECLARE @SQL NVARCHAR(MAX) SET @SQL = N'SET @SQL = STUFF((SELECT N'' UNION ALL SELECT N'''''' + COLUMN_NAME + N'''''', CONVERT(NVARCHAR, '' + COLUMN_NAME + N'') FROM T'' FROM ' + QUOTENAME(@DBCatalog) + '.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = @DBCatalog AND TABLE_SCHEMA = @DBSchema AND TABLE_NAME = @DBTable FOR XML PATH(N'''')), 1, 11, N'''')' exec sp_executesql @SQL, N'@DBCatalog NVARCHAR(...