@mikiya-om (mikiya kato)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

SQL Serverの計算結果が切り上げにならない。

解決したいこと

SQL文でフィールドの計算を行い、SELECT文で取得・表示させています。
除算した結果を、切り上げ表示させたいです。

例) 33 / 6 = 5.5 → 6

上記の計算結果を切り上げ表示させたいです。

プログラミング初学者で初めての質問となります。
初歩的な質問で大変恐縮ですが、教えて頂けると幸いです。

前提

環境:Microsoft SQL Server 2019

自分で試したこと

Transact-SQLの「CEILING関数」で切り上げ。

SELECT CEILING(33 / 6)  

結果

--実行結果  
5

疑問点

SELECT CEILING( 5.5 )と記述すると、期待通りの6が戻ってきますが、
SELECT CEILING( 33 / 6 )と除算後の切り上げをしようとすると5となってしまいます。

SELECT CEILING( 5.5 );    → --実行結果 6
SELECT CEILING( 33 / 6 ); → --実行結果 5
0 likes

1Answer

SELECT 33 / 6;

の結果はいくつでしょう?
なんとなく 33 / 6 の計算が整数で行われていて
CEILING(5)を計算してしまっている気がするのですが。

SELECT CEILING(33.0 / 6);

なら結果は変わりますか?

2Like

Comments

  1. @mikiya-om

    Questioner

    ご回答ありがとうございます。
    ご指摘頂いたように、分子(または分母)をfloat型へ変換することで解決出来ました。
    演算するときはSQL Serverのデータ型の優先順位に気を付ける必要があるんですね、
    勉強になりました。ありがとうございます。

Your answer might help someone💌