Can I use… cast(… as int[eger])


Apache DerbyBigQueryDb2 (LUW)H2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite200520072009201120132015201720192021⚠ 3.5.7 - 3.42.0b✓ 2019+✓ 8.3+✓ 19c+⊘ 5.0 - 8.0.33a⚠ 10.6 - 10.11✓ 1.4.192+✓ 11.5.0+✓ 2.0+c⊘ 2.0c✓ 10.15.2.0+
  1. Consider casting to unsigned or signed
  2. Doesn’t fail on non-numeric input
  3. Cast to int64 instead

The SQL cast specification converts a value to the named data type.

SELECT CAST(column_name AS INTEGER)
  FROM …
  • Integer/int in other places: column type.

  • Product specific cast functions: try_cast, safe_cast, ::, convert.

Normative References

ISO/IEC 9075:2016-2 defines integer (E011-01, “INTEGER and SMALLINT data types (including all spellings)”) and the cast specification (F201).

You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail, Twitter or RSS to gradually catch up and to keep modern-⁠sql.com on your radar.

About the Author

Photo of Markus Winand

Markus Winand provides insights into SQL and shows how different systems support it at modern-sql.com. Previously he made use-the-index-luke.com, which is still actively maintained. Markus can be hired as trainer, speaker and consultant via winand.at.

Buy the Book

Cover of “SQL Performance Explained”: Squirrel running on grass

The essence of SQL tuning in 200 pages

Buy now!
(paperback and/or PDF)

Paperback also available at Amazon.com.

Hire Markus

Markus offers SQL training and consulting for developers working at companies of all sizes.
Learn more »

Connect with Markus Winand

Markus Winand on LinkedInMarkus Winand on XINGMarkus Winand on Twitter
“modern SQL” by Markus Winand is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Legal | Contact | NO WARRANTY | Trademarks | Privacy and GDPR | CC-BY-NC-ND 3.0 license