SQL查詢金額去掉小數點后面的零


如果是2005以上版本,直接:

selectltrim(cast(col asfloat)) from tb

例如:

 

DECLARE @lastprice_new VARCHAR(50)
SELECT @lastprice_new=ltrim(cast((16955.20) as float))
PRINT @lastprice_new

打印出來:16955.2

 

例如:

DECLARE @str_md5 VARCHAR(32)
    DECLARE @id VARCHAR(50)
    DECLARE @lastprice_new VARCHAR(50)
    SELECT @id=id ,@lastprice_new=ltrim(cast((price-@price) as float))  FROM dbo.tbl_protect WHERE joinno=@joinno


SELECT @id=id ,@lastprice_new=ltrim(cast((price-@price) as MONEY)) FROM dbo.tbl_protect WHERE joinno=@joinno

取小數點兩位

 

select cast(round(1.00/3,2) as decimal(18,2))
                     
-------------------- 
.33

(所影響的行數為 1 行)

 

 

 

declare @val dec(18,2)
set @val='1.20'
select LEFT(@val,LEN(@val)-PATINDEX('%[^0]%.%',REVERSE(@val))+1)

/**

-----------------------------------------
1.2

(1 行受影響)
**/

 

 

用decimal(15,2)類型取值,select cast(0.3355555555555 as decimal(15,2)) =0.34,如果不想四舍五入用round處理下

 

  

 

  

 

  

 

  

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM