在遇到資料顯示時會遇到需要調整格式,需在前面補0的情況下
ex
Select '1' From TableA
假設目前資料要秀出001這樣的格式
可以利用 REPLICATE('字串',次數) 這個函數
Select REPLICATE('0',2) +'1' From Table A
如此就可以得到想要的結果
------------------------------------------------------
下面加一些變化
Select REPLICATE('0',5-Len(欄位A)) + 欄位A From Table A
如此就可以依照欄位的長短不同,固定都補到5位數
------------------------------------------------------
如果遇到統計筆數的話 Count(*)
但這邊要注意下先轉成字串
ex: Select REPLICATE('0', 5-Len(Count(*))) + Str(Count(*)) From Table A
不過這樣出來的結果會很奇怪,左邊會多出很多空白
所以多加下面一段把 Str(Count(*)) 左邊產生的空白取代掉
Select REPLICATE('0', 5-Len(Count(*))) + LTRIM(Str(Count(*))) From Table A
但如果遇到筆數可能會超過5碼但又希望最少都能捕到5碼的狀況
那就再加上以下判斷
這邊分段寫看起來比較方便
未滿5碼時要做的事:
Str1= REPLICATE('0', 5-Len(Count(*))) + LTRIM(Str(Count(*)))
超過5碼保持原樣(這邊要記得轉換成字串,不然未滿5碼時也會變成數值結果):
Str2= Str(Count(*))
外面加上判斷 (Case When 條件 Then True Else False End):
Select (Case When Len(Count(*))<5 Then Str1 Else Str2 End) From Table A
沒有留言:
張貼留言