如何将无效数字列转换为 HANA 上的数字?

How to convert an invalid number column to a number on HANA?

我有一个带有字符串列的 table。我使用函数 TO_INTEGER() 将此列转换为数字。工作正常。但是如果我使用函数 SUM 聚合转换后的列,我会收到此错误:

SAP DBTech JDBC: [339]: 无效数字:函数 to_int()[=11= 中的数字字符串 ' ' 无效]

这是我的示例 SQL 查询:

select SUM(PARTICIPANT)
from (
select TO_INTEGER(STUDENT) as PARTICIPANT
from MyTable)

列 STUDENT 是 MyTable 中的 varchar(50)

我做错了什么?

提前致谢

在没有看到您的列值的情况下,您似乎正在尝试将值列表末尾的数字序列转换为数字,而分隔它的空格会引发此错误。但根据您提供给我们的信息,它可能发生在任何领域。

例如:

Create table Table1 (tel_number number);
Insert into Table1 Values ('0419 853 694');

以上给你一个

invalid number

如果您在收到此错误消息时尝试将字符串列值指定为整数,请检查 Filter/where 子句。我在 HANA - 计算视图 - SQL 脚本中编写,在 where 子句 Bukrs(公司代码)= 1000 之后我更改了 Bukrs = '1000'。那么这个问题就解决了。