| title | ISNUMERIC (Transact-SQL) | Microsoft Docs | ||||||
|---|---|---|---|---|---|---|---|
| ms.custom | |||||||
| ms.date | 03/13/2017 | ||||||
| ms.prod | sql | ||||||
| ms.prod_service | database-engine, sql-database, sql-data-warehouse, pdw | ||||||
| ms.reviewer | |||||||
| ms.technology | t-sql | ||||||
| ms.topic | language-reference | ||||||
| f1_keywords |
|
||||||
| dev_langs |
|
||||||
| helpviewer_keywords |
|
||||||
| ms.assetid | 7aa816de-529a-4f6c-a99f-4d5a9ef599eb | ||||||
| author | MikeRayMSFT | ||||||
| ms.author | mikeray | ||||||
| monikerRange | >=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-server-2016||=sqlallproducts-allversions||>=sql-server-linux-2017||=azuresqldb-mi-current |
[!INCLUDEtsql-appliesto-ss2008-all-md]
Determines whether an expression is a valid numeric type.
Transact-SQL Syntax Conventions
ISNUMERIC ( expression )
expression
Is the expression to be evaluated.
int
ISNUMERIC returns 1 when the input expression evaluates to a valid numeric data type; otherwise it returns 0. Valid numeric data types include the following:
| Exact Numerics | bigint, int, smallint, tinyint, bit |
| Fixed Precision | decimal, numeric |
| Approximate | float, real |
| Monetary Values | money, smallmoney |
Note
ISNUMERIC returns 1 for some characters that are not numbers, such as plus (+), minus (-), and valid currency symbols such as the dollar sign ($). For a complete list of currency symbols, see money and smallmoney (Transact-SQL).
The following example uses ISNUMERIC to return all the postal codes that are not numeric values.
USE AdventureWorks2012;
GO
SELECT City, PostalCode
FROM Person.Address
WHERE ISNUMERIC(PostalCode)<> 1;
GO
The following example uses ISNUMERIC to return all the postal codes that are not numeric values.
USE master;
GO
SELECT name, isnumeric(name) AS IsNameANumber, database_id, isnumeric(database_id) AS IsIdANumber
FROM sys.databases;
GO
Expressions (Transact-SQL)
System Functions (Transact-SQL)
Data Types (Transact-SQL)