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

时间:2016-06-21 10:45:35

标签: sql sap hana hana-sql-script

我有一个带有字符串列的表。我使用函数TO_INTEGER()将此列转换为数字。我工作得很好。但是,如果我使用函数SUM聚合转换后的列,则会出现此错误:

SAP DBTech JDBC:[339]:无效的数字:不是有效的数字字符串' ' at function to_int()

这是我的示例SQL查询:

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

列STUDENT是MyTable中的varchar(50)

我做错了什么?

提前致谢

2 个答案:

答案 0 :(得分:0)

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

例如:

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

上面给出了一个

  

无效号码

答案 1 :(得分:0)

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