LoginSignup
2
0

More than 5 years have passed since last update.

sqlite3で小数点以下の切り捨ては、INTEGERにキャストすればOK

Posted at

  SQLite3のドキュメントを参照しても、小数点以下の切り捨てを行うTRUNC関数はありませんでした。
何故か、sqlite3のINTEGER型へのキャストでは、暗黙的に小数点以下を切り捨てされます。

確認用コード

sqlite3_cast_to_int.sql
SELECT 
 CAST( 0.999999999 AS  int ) AS to_int
;

他のデータベースマネジメントシステムとの差異

 PostgreSQL等多くのRDBでは、INTEGER型へのキャストでは暗黙的に四捨五入が行われます。sqlite3が特別なような気もします。
 異なるDBMSでSQLを書く際には、キャストの際の暗黙的な処理についても差異があることに気を配りたいものです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0