Can I use… NATURAL_SORT_KEY(<string>)


Apache DerbyBigQueryDb2 (LUW)H2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite2005200720092011201320152017201920213.5.7 - 3.42.02008R2 - 20228.3 - 1511gR1 - 21c5.0 - 8.0.3310.7 - 10.115.1 - 10.61.4.191 - 2.1.2149.7 - 11.5.82.010.15.1.3 - 10.16.1.1

The function natural_sort_key allows sorting strings that contain numbers in a more natural way.

SELECT *
  FROM …
 ORDER BY NATURAL_SORT_KEY(text_col)

Standard SQL uses collations to specify how strings are to be sorted. Known implementations that support naturally sorting collations:

Normative References

The natural_sort_key function is not defined by any international standard.

Vendor documentation:

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