したがって、この質問には良い答えがあることがわかりますが、何があっても切り捨てるのではなく、何があっても切り上げたいと思います。たとえば、int をキャストする前に 1 を追加すると、5.0 が 6.0 に「丸められる」ため、機能しません。
ceil
では、SQLite でどのように実装すればよいでしょうか?
これはどう?
select (case when x = cast(x as int) then cast(x as int)
else 1 + cast(x as int)
end)
これにより、同じ答えがよりエレガントになります。
SELECT CAST(x+1-1e-n AS INT);
(小数点以下n桁を超える精度がないと仮定します)
php を使用すると、次のことが簡単にできます。
$db->createFunction('ceil', 'ceil', 1);
$db->createFunction('floor', 'floor', 1);
select ceil(\`column`) from table;