9

したがって、この質問には良い答えがあることがわかりますが、何があっても切り捨てるのではなく、何があっても切り上げたいと思います。たとえば、int をキャストする前に 1 を追加すると、5.0 が 6.0 に「丸められる」ため、機能しません。

ceilでは、SQLite でどのように実装すればよいでしょうか?

4

4 に答える 4

9

これはどう?

select (case when x = cast(x as int) then cast(x as int)
             else 1 + cast(x as int)
        end)
于 2013-02-19T23:56:33.043 に答える
8

これにより、同じ答えがよりエレガントになります。

SELECT CAST(x+1-1e-n AS INT);

(小数点以下n桁を超える精度がないと仮定します)

于 2016-08-21T22:27:46.370 に答える
0

php を使用すると、次のことが簡単にできます。

$db->createFunction('ceil', 'ceil', 1);

$db->createFunction('floor', 'floor', 1);

select ceil(\`column`) from table;
于 2014-10-20T08:00:24.043 に答える