smallint (column type)


BigQueryDb2 (LUW)DerbyH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite2005200720092011201320152017201920212023⚠ 3.5.7 - 3.49.0a✓ 2008R2 - 2022✓ 8.3 - 17✓ 11gR1 - 23.7✓ 5.0 - 9.3.0✓ 5.1 - 11.7✓ 1.4.191 - 2.3.232✓ 10.15.1.3 - 10.17.1.0✓ 9.7 - 12.1✓ 2.0b⊘ 2.0b
  1. Accepts character strings (generously cast or not statically typed)
  2. Use int64

The SQL type smallint is typically no shorter than a 16 big signed integer (-32768 to 32767).

CREATE TABLE table_name (
   column_name SMALLINT
)

Note that the SQL language has no unsigned modifier (see: domain, check).

  • Smallint in other places: cast target.

  • Other integer types: integer/int, bigint

  • Restricting the value range (e.g. unsigned): domain, check

  • SQL types for decimal numbers: numeric, decimal, decfloat

  • Numeric types with approximate arithmetic: float, real, double precision

  • Product specific integer types: tinyint, mediumint, int2, int4, int8, int64, unsigned, signed

Normative References

The type smallint is defined in ISO/IEC 9075-2:2023 (E011-01, “INTEGER and SMALLINT data types (including all spellings)”) with an implementation defined precision.0 The corresponding data type of the C programming language is short,1 which corresponds to the above mentioned value range.2

You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail, Bluesky 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 »

Footnotes

  1. ISO/IEC 9075-2:2023 §6.1 SR 30

  2. ISO/IEC 9075-2:2023 §13.5

  3. ISO/IEC 9899:2017, §5.2.4.2.1 Sizes of integer types <limits.h>

Connect with Markus Winand

Subscribe mailinglistsSubscribe the RSS feedMarkus Winand on LinkedInMarkus Winand on XINGMarkus Winand on TwitterMarkus Winand on Bluesky
Copyright 2015-2025 Markus Winand. All righs reserved.
Legal | Contact | NO WARRANTY | Trademarks | Privacy and GDPR