2018年9月1日 星期六

[SQL]把找到的資料轉成HTML格式

在SQL實務應用上,相信不少人都會把抓出來的特定資料再透過email寄出來吧?
此時如果能轉成HTML格式會更方便閱讀,以下將分享使用FOR XML方式來達成此需求。

--建立測試資料
IF OBJECT_ID('#TT','U') IS NOT NULL
 DROP TABLE #TT
CREATE TABLE #TT 
(
   id INT,
   name VARCHAR(20),
   sex char(1),
   memo VARCHAR(50),
   cr_date datetime default(getdate())
)

INSERT INTO #TT 
(id,name,sex,memo)
VALUES
(1,N'John',N'M',N'test11111'),
(2,N'Lee',N'F',N'test22222'),
(3,N'Penny',N'F',N'test33333'),
(4,N'Wade',N'M',N'test444444'),
(5,N'James',N'M',N'test55555')

DECLARE @Content VARCHAR(MAX)
--將所有欄位名稱設成TD,再以''分隔
SET @Content = CAST((SELECT name AS 'TD','',
CASE sex WHEN 'M' THEN '男性' WHEN 'F' THEN '女性' END as 'TD','',
memo AS 'TD',''
FROM #TT
FOR XML PATH('tr'),TYPE) AS VARCHAR(MAX))

DECLARE @HTML VARCHAR(MAX)
SET @HTML='<HTML><BODY><TABLE border=1><TH>姓名</TH><TH>性別</TH><TH>MEMO</TH>'+@Content+'</TABLE>'

SELECT @HTML

沒有留言:

張貼留言

[SQL Server]主動通知SQL Server發生錯誤的機制

當SQL Server有特定錯誤發生時,管理人員也沒有時間經常去查看SQL Server錯誤檔, 於是有時特定錯誤可能很重要時,但卻沒有人被通知到,現在小弟實作一個主動通知的機制。 首先先新增警示,在這裡選擇想要被通知的錯誤訊息的等級或其它設定 接著在回應頁籤中,勾選執...