ISNUMERIC (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

确定表达式是否为有效的数值类型。

Transact-SQL 语法约定

语法

ISNUMERIC ( expression )

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

expression

要计算的 表达式

返回类型

int

注解

ISNUMERIC1 输入表达式的计算结果为有效的数值数据类型时返回;否则返回 0。 有效的 数值数据类型 包括以下项:

区域 数字数据类型
精确数字 bigintintsmallinttinyintbit
固定精度 decimalnumeric
近似 floatreal
货币值 moneysmallmoney

ISNUMERIC返回1某些不是数字的字符,如加号(+)、减号(-)和有效的货币符号(如美元符号)。$ 有关货币符号的完整列表,请参阅 money 和 smallmoney (Transact-SQL)

示例

以下示例用于 ISNUMERIC 返回非数值的所有邮政编码。

USE AdventureWorks2022;
GO

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

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

以下示例用于 ISNUMERIC 返回数据库名称和 ID 是否为数值。

USE master;
GO

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