SQL中的數字格式化

2021-05-25 12:34:47 字數 826 閱讀 8025

每三位用逗號相隔,留2位小數,不考慮四捨五入

select convert(varchar, cast(round(30000.72234,0) as money), 1)

--每三位用逗號相隔,不留小數字,考慮四捨五入

select left(convert(varchar, cast(round(30000.72234,0) as money), 1) , charindex('.', convert(varchar, cast(round(30000.72234,0) as money), 1))-1)

convert

( data type, expression 

[, format-style ] )

第三個引數的意義

從 money

或 smallmoney

轉換為字元資料時的 style 值。

0(預設值) 小數點左側每三位數字之間不以逗號分隔,小數點右側取兩位數,例如 

4235.98。 1

小數點左側每三位數字之間以逗號分隔,小數點右側取兩位數,例如 3,

510.92。 2

小數點左側每三位數字之間不以逗號分隔,小數點右側取四位數,例如 

4235.9819

。  

select round(123.75633, 2, 1),

round(123.75633, 2)

上面的sql得到的2個值是不一樣的,前乙個是:123.75000,後乙個是:123.76000。

因為前者在進行四捨五入之前,小數點後已經被擷取,保留了2位。

而後者則沒有被擷取,四捨五入時自然就會得到123.76000

SQL中的數字格式化

取小數字前數字,不考慮四捨五入 select left 30000.72234 charindex 30000.72234 1 其中 charindex 30000.72234 獲得小數點的位置 1則表示在小數點前面的全部,如果想獲取小數點後面的n為,寫成 n就可以了。還挺好用的。每三位用逗號相隔,...

SQL中數字的格式化

用sql語句來格式化double型的資料,比如,只取出小數點後面的兩位 一。主要方法 取小數字前數字,不考慮四捨五入 select left 30000.72234 charindex 30000.72234 1 其中 charindex 30000.72234 獲得小數點的位置 1則表示在小數點前...

SQL中的數字格式化

用sql語句來格式化double型的資料,比如,只取出小數點後面的兩位 一。主要方法 取小數字前數字,不考慮四捨五入 select left 30000.72234 charindex 30000.72234 1 其中 charindex 30000.72234 獲得小數點的位置 1則表示在小數點前...