小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SQL中的數(shù)字格式化

 宇玲 2009-10-31

用sql語句來格式化double型的數(shù)據(jù),比如,只取出小數(shù)點(diǎn)后面的兩位
一。主要方法

--取小數(shù)位前數(shù)字,不考慮四舍五入
select left('30000.72234', charindex('.', '30000.72234')-1)
其中:charindex('.', '30000.72234')獲得小數(shù)點(diǎn)的位置;-1則表示在小數(shù)點(diǎn)前面的全部,如果想獲取小數(shù)點(diǎn)后面的n為,寫成+n就可以了。還挺好用的。

--每三位用逗號相隔,留2位小數(shù),不考慮四舍五入
select convert(varchar, cast(round(30000.72234,0) as money), 1)

--每三位用逗號相隔,不留小數(shù)位,考慮四舍五入
select left(convert(varchar, cast(round(30000.72234,0) as money), 1) , charindex('.', convert(varchar, cast(round(30000.72234,0) as money), 1))-1)


二。CAST和 ROUND的比較
1.
SELECT CAST('123.456' as decimal) 將會得到 123(小數(shù)點(diǎn)后面的將會被省略掉)。
如果希望得到小數(shù)點(diǎn)后面的兩位。
則需要把上面的改為
SELECT CAST('123.456' as decimal(38, 2))

===>123.46
自動四舍五入了!

2.
SELECT ROUND(123.75633, 2, 1),
ROUND(123.75633, 2)
上面的SQL得到的2個值是不一樣的,前一個是:123.75000,后一個是:123.76000。
因?yàn)榍罢咴谶M(jìn)行四舍五入之前,小數(shù)點(diǎn)后已經(jīng)被截取,保留了2位。
而后者則沒有被截取,四舍五入時自然就會得到123.76000

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多