sql除法保留小數(shù)的方法:使用cast、round或truncate函數(shù)。cast函數(shù)強(qiáng)制轉(zhuǎn)換數(shù)值類型以保留特定精度和小數(shù)位數(shù)。round函數(shù)四舍五入浮點數(shù)結(jié)果。truncate函數(shù)截斷浮點數(shù)結(jié)果。
SQL 中除法保留小數(shù)的計算方法
在 SQL 中,除法操作符是斜杠(/),它會產(chǎn)生一個浮點數(shù)結(jié)果。默認(rèn)情況下,浮點數(shù)結(jié)果保留小數(shù)點后 15 位數(shù)字。
保留小數(shù)的方法
為了保留更多或更少的小數(shù)位,可以使用以下方法:
CAST 函數(shù):將其用于被除數(shù)或除數(shù)以強(qiáng)制轉(zhuǎn)換為具有特定精度和比例的數(shù)字類型。例如:
<code class="sql">SELECT CAST(numerator AS DECIMAL(10, 2)) / CAST(denominator AS DECIMAL(10, 2));</code>
登錄后復(fù)制
ROUND 函數(shù):用于對浮點數(shù)結(jié)果進(jìn)行四舍五入。例如:
<code class="sql">SELECT ROUND(numerator / denominator, 2);</code>
登錄后復(fù)制
TRUNCATE 函數(shù):用于截斷浮點數(shù)結(jié)果。例如:
<code class="sql">SELECT TRUNCATE(numerator / denominator, 2);</code>
登錄后復(fù)制
示例
考慮以下查詢:
<code class="sql">SELECT 10 / 3;</code>
登錄后復(fù)制
默認(rèn)情況下,該查詢會返回浮點數(shù)結(jié)果 3.3333333333333335。
如果要保留兩位小數(shù),可以使用 CAST 函數(shù):
<code class="sql">SELECT CAST(10 AS DECIMAL(10, 2)) / CAST(3 AS DECIMAL(10, 2));</code>
登錄后復(fù)制
該查詢會返回 3.33。