Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

ISNUMERIC (Transact-SQL)

Applies to: 👁 Image
SQL Server 👁 Image
Azure SQL Database 👁 Image
Azure SQL Managed Instance 👁 Image
Azure Synapse Analytics 👁 Image
Analytics Platform System (PDW) 👁 Image
SQL analytics endpoint in Microsoft Fabric 👁 Image
Warehouse in Microsoft Fabric 👁 Image
SQL database in Microsoft Fabric

Determines whether an expression is a valid numeric type.

👁 Image
Transact-SQL syntax conventions

Syntax

ISNUMERIC ( expression )

Arguments

expression

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 items:

Area Numeric data types
Exact numerics bigint, int, smallint, tinyint, bit
Fixed precision decimal, numeric
Approximate float, real
Monetary values money, smallmoney

ISNUMERIC returns 1 for some characters that aren't 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 aren't numeric values.

USE AdventureWorks2022;
GO

SELECT City,
 PostalCode
FROM Person.Address
WHERE ISNUMERIC(PostalCode) <> 1;
GO

Examples: Azure Synapse Analytics and Analytics Platform System (PDW)

The following example uses ISNUMERIC to return whether the database name and ID are numeric values.

USE master;
GO

SELECT name,
 ISNUMERIC(name) AS IsNameANumber,
 database_id,
 ISNUMERIC(database_id) AS IsIdANumber
FROM sys.databases;
GO

Related content


Feedback

Was this page helpful?

Additional resources