我在MS SQL Server表數值列(列1表示)阿爾特數值格式
出現這樣
Column1
23.50000
170.50000
53.50000
注意的數據:總有小數點後5位。
現在我需要一個MS SQL查詢以下列方式
Column1
00023500
00170500
00053500
變換爲5位數字爲整數部分和3位數字的十進制部分以顯示數值。
我在MS SQL Server表數值列(列1表示)阿爾特數值格式
出現這樣
Column1
23.50000
170.50000
53.50000
注意的數據:總有小數點後5位。
現在我需要一個MS SQL查詢以下列方式
Column1
00023500
00170500
00053500
變換爲5位數字爲整數部分和3位數字的十進制部分以顯示數值。
我認爲你應該做這個客戶端上的
RIGHT('00000000'+CONVERT(VARCHAR,CONVERT(INT,field*1000)),8)
上面的查詢在大多數例子中都起作用。但如果我的輸入是413142.5022,我需要得到的輸出是41314502.但上述查詢返回13142502 –
我不明白什麼是轉換413142.5022 - > 41314502的邏輯?你放棄1位數字嗎?請解釋 – Hogan
如果我理解正確的,你需要什麼地方得到的數據顯示
declare @t table(a dec(18,5))
insert into @t values(23.50000),(170.50000),(53.50000),(322.50000),(413142.5022)
select a, left(replace(replicate('0',
case when 6-CHARINDEX('.',cast(a as varchar),1)<0 then 0 else
6-CHARINDEX('.',cast(a as varchar),1) end)
+cast(a as varchar),'.',''),8) from @t
SQL服務器是不是真的。你使用什麼前端報告系統/網站? – Hogan