ISNUMERIC (Transact-SQL)

**APPLIES TO:** ![yes](media/yes.png)SQL Server (starting with 2008) ![yes](media/yes.png)Azure SQL Database ![yes](media/yes.png)Azure SQL Data Warehouse ![yes](media/yes.png)Parallel Data Warehouse

Determines whether an expression is a valid numeric type.

Topic link icon Transact-SQL Syntax Conventions

Syntax

ISNUMERIC ( expression )  

Arguments

expression
Is the expression to be evaluated.

Return Types

int

Remarks

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).

Examples

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  

Examples: [!INCLUDEssSDWfull] and [!INCLUDEssPDW]

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  

See Also

Expressions (Transact-SQL)
System Functions (Transact-SQL)
Data Types (Transact-SQL)