sql中如何捨去小數最後一位為0如 20 50只能取

時間 2021-08-14 00:18:31

1樓:匿名使用者

--去掉小數點後多餘的0 2012-10-26

declare @number nvarchar(20),@lastnum char(10)

--測試變數

select @number = 25.00500

--記錄最後一們數字

select @lastnum = substring(@number,len(@number),1)

--迴圈判斷,只要最後一位是0,就捨去

while (@lastnum = '0')

begin

select @number = substring(@number,0,len(@number))

select @lastnum = substring(@number,len(@number),1)

end--結果處理,如果最後一位是‘.’,就捨去

select case when @lastnum = '.' then substring(@number,0,len(@number)) else @number end

go--注:你可以把第二行**的數字替換下,然後所有**一起執行,看結果是否你你想要的。

2樓:匿名使用者

-----可以先轉換為字元型(字元的總長度減1),再轉回數值型。

cast(substring (cast (欄位 as varchar(50)),1, len(cast (欄位 as varchar(50)))-1) as decimal(18,1))

3樓:古咕咕咕古

不知道你是用的哪種資料庫,oracle中如果你設定的number型別。小數點後最後一位0是可以自動去掉的。

如果是字串,那就要你自己寫一個函式了。

4樓:匿名使用者

反正oralce裡,

select to_char(filed)+0 from table

就可以去末尾0了,並且小數點前的第一個0不被抹掉。(例:00.250-》0.25)

VB向上保留一位小數,VB如何保留2位小數

function roundup x as double,k as integer as double roundup int x 10 k 0.9 10 k end function private sub command1 click 用法舉例 msgbox roundup 123.1111,1...

求正則是否有正則能夠判斷最後一位是否為數字

有的,在正規表示式中 代表的是任意字元 d 代表的是數字0 9,但是 d 只能代表一個數字。與字串開始的地方匹配,不匹配任何字元。與字串結束的地方匹配,不匹配任何字元.代表修飾匹配次數為至少 1 次。要匹配 字元本身,請使用 代表匹配除了換行符 n 以外的任意一個字元。要匹配小數點本身,請使用 代表...

潮州的經濟在潮汕三市中是不是排在最後一位

轉動著的心 是按照總量來說汕頭多 按照增長速度來說揭陽快 潮州經濟是不好 總的來說的潮汕三市是廣東最落後的地區 我潮州的 你可以去看看07年廣東的gdp 排名 人均排名 城市 gdp 億元 增長速度 人均gdp元 1 2 廣州 7050.78 14.50 72274 2 1 深圳 6765.41 1...