第145章 SQL函数 TO_NUMBER
发布网友
发布时间:2022-12-16 18:12
我来回答
共1个回答
热心网友
时间:2023-09-03 15:39
将字符串表达式转换为 NUMERIC 数据类型的值的字符串函数。
名称 TO_NUMBER 和 TONUMBER 可以互换。它们支持 Oracle 兼容性。
TO_NUMBER 将字符串表达式转换为数字数据类型 NUMERIC 。但是,如果 string-expression 的数据类型为 DOUBLE ,则 TO_NUMBER 返回一个数据类型为 DOUBLE 的数字。
TO_NUMBER 转换采用数字字符串并通过解析加号和减号、扩展指数符号( “E” 或 “e” )以及删除前导零将其转换为规范数字。 TO_NUMBER 在遇到非数字字符(例如字母或数字组分隔符)时停止转换。因此字符串 '7dwarves' 转换为 7 。如果 string-expression 的第一个字符是非数字字符串,则 TO_NUMBER 返回 0 。如果 string-expression 是空字符串 ( '' ),则 TO_NUMBER 返回 0。 TO_NUMBER 将 -0 解析为 0 . TO_NUMBER 不解析算术运算。因此字符串 '2+4' 转换为 2 。如果为字符串表达式指定 NULL ,则 TO_NUMBER 返回 null 。
NUMERIC 数据类型的默认 SCALE 为 2 。因此,在 DISPLAY 模式下选择此值时, TO_NUMBER 始终显示返回值,保留 2 位小数。额外的小数位数四舍五入到小数点后两位;尾随零被解析为两位小数。当通过 xDBC 使用 TO_NUMBER 时,它还返回类型为 NUMERIC , SCALE 为 2 。在 LOGICAL 模式或 ODBC 模式下,返回值是规范数字;没有对小数位施加比例,并且省略了尾随零。
以下两个示例显示 TO_NUMBER 如何将字符串转换为数字,然后将其作为具有适当 SCALE 的数据类型 NUMERIC 返回。第一个示例在显示模式下返回数字,第二个示例在逻辑模式下返回数字:
以下示例显示当 string-expression 为 DOUBLE 数据类型时, TO_NUMBER 将值作为数据类型 DOUBLE 返回:
以下示例显示如何使用 TO_NUMBER 列出按数字升序排列的街道地址:
将结果与按字符串升序排列的相同数据进行比较: