[SQL ] 請位欄位可以是變數嗎
資料庫名稱:MS SQL
資料庫版本:2008R2
內容/問題描述:
有一個table
部門 分類 年度 01 02 03
A 銷售 2021 250 300 250
A 折讓 2021 10 5 0
欄位01 02 03是各月份
select 01 FROM table where ...
這01能用變數取代嗎
declare @i int 轉換成2位補0 varchar(2)
select quotename(@i) from table
出來是[01]
失敗
我很多利用寄送的html報表要用到
現在是寫12次
其他嘗試還有
1.試用 sp_executesql
比寫12次複雜不少 ,寫一半放棄
2.轉成table (月,值)
稍微簡單一點,若沒有其他方法就用此方法
以下是要輸出HTML格式 為了顯示 1,234 要寫很長一串
來問有無簡單點的寫法
SET @Html = @Html + N'<td>' +
(SELECT Isnull(nullif(
convert(varchar(10),Left(convert(varchar(20),convert(money,[01
]),1),len(convert(varchar(20),convert(money,[01]),1))-3) ),'0') ,'')
FROM #tmp WHERE rid = @i) + N'</td>';
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.65.181 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1645688264.A.3C5.html
→
02/24 19:32,
2年前
, 1F
02/24 19:32, 1F
因為這是利用stored procedure 半夜自動發信
這功能非常好用,user定期收到他需要的
除outlook的html不太好寫外
同樣的報表UI也會有
那邊就不用管這些,直接顯示
其實我轉成table重寫完了
簡單不少
只是這功能我查很久查不到
想上來問問
※ 編輯: tsongs (125.227.65.181 臺灣), 02/25/2022 12:05:28
→
02/25 16:34,
2年前
, 2F
02/25 16:34, 2F
→
02/25 16:37,
2年前
, 3F
02/25 16:37, 3F
→
02/25 16:37,
2年前
, 4F
02/25 16:37, 4F
推
02/27 16:32,
2年前
, 5F
02/27 16:32, 5F
Database 近期熱門文章
PTT數位生活區 即時熱門文章