ISNUMERIC (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Determina si una expresión es un tipo numérico válido.

Convenciones de sintaxis de Transact-SQL

Sintaxis

ISNUMERIC ( expression )

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

expression

Expresión que se va a evaluar.

Tipos de valores devueltos

int

Comentarios

ISNUMERIC devuelve 1 cuando la expresión de entrada se evalúa como un tipo de datos numérico válido; de lo contrario, devuelve 0. Los tipos de datos numéricos válidos incluyen los siguientes elementos:

Área Tipos de datos numéricos
Valores numéricos exactos bigint, int, smallint, tinyint, bit
Precisión fija decimal, numeric
Aproximado float, real
Valores monetarios money, smallmoney

ISNUMERICdevuelve 1 para algunos caracteres que no son números, como más (), menos (+-) y símbolos de moneda válidos, como el signo de dólar ($). Para obtener una lista completa de los símbolos de moneda, consulte money y smallmoney (Transact-SQL).

Ejemplos

En el ejemplo siguiente se usa ISNUMERIC para devolver todos los códigos postales que no son valores numéricos.

USE AdventureWorks2022;
GO

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

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

En el ejemplo siguiente se usa ISNUMERIC para devolver si el nombre de la base de datos y el identificador son valores numéricos.

USE master;
GO

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