前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL函数 ISNUMERIC

SQL函数 ISNUMERIC

作者头像
用户7741497
发布2022-04-06 14:51:41
5320
发布2022-04-06 14:51:41
举报
文章被收录于专栏:hml_知识记录

SQL函数 ISNUMERIC

测试有效数字的数值函数。

大纲

代码语言:javascript
复制
ISNUMERIC(check-expression)

参数

  • check-expression - 要计算的表达式。

ISNUMERIC返回SMALLINT数据类型。

描述

ISNUMERIC计算check-expression并返回下列值之一:

  • 如果check表达式是有效数字,则返回1。有效数字可以是数字表达式,也可以是表示有效数字的字符串。
    • 数值表达式首先转换为规范形式,解析多个前导符号;因此,诸如+-+34这样的数值表达式是有效的数字。
    • 在求值之前不会转换数字字符串。数字字符串最多只能有一个前导符号才能计算为有效数字。带有尾随小数点的数字字符串的计算结果为有效数字。
  • 如果check-expression不是有效数字,则返回0。任何包含非数字字符的字符串都不是有效数字。具有多个前导符号的数字字符串(如‘+-+34’)不会被计算为有效数字。编码列表始终返回0,即使其元素是有效数字也是如此。空字符串ISNUMERIC(‘’)返回0。
  • 如果check-expressionNULL,则返回NULLISNUMERIC(NULL)返回NULL

如果科学记数法指数大于308(308-(整数数-1)),ISNUMERIC会生成SQLCODE-7,指数超出范围错误。例如,ISNUMERIC(1E309)ISNUMERIC(111E307)都会生成此错误代码。如果小于或等于“1E145”的指数数字字符串返回1,则大于“1E145”的指数数字字符串返回0。

ISNUMERIC函数与ObjectScript $ISVALIDNUM函数非常相似。但是,当输入值为NULL时,这两个函数返回不同的值。

示例

在下面的示例中,所有ISNUMERIC函数都返回1:

代码语言:javascript
复制
SELECT ISNUMERIC(99) AS MyInt,
       ISNUMERIC('-99') AS MyNegInt,
       ISNUMERIC('-0.99') AS MyNegFrac,
       ISNUMERIC('-0.00') AS MyNegZero,
       ISNUMERIC('-0.09'+7) AS MyAdd,
       ISNUMERIC('5E2') AS MyExponent
       
1   1   1   1   1   1

如果FavoriteColorsNULL,则下面的示例返回NULL;否则返回0,因为FavoriteColors不是数值字段:

代码语言:javascript
复制
SELECT Name,
ISNUMERIC(FavoriteColors) AS ColorPref
FROM Sample.Person

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL函数 ISNUMERIC
  • 大纲
  • 参数
  • 描述
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档