点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我在HANA 1.00.122.12.1502962396(fa/hana1sp12)上,我有一个计算视图,该视图由SYS.DUMMY上的投影以及带有此(列引擎)表达式的计算列组成:
hextoraw('4142')
当我查询计算视图时,这很好。 当我使用此表达式添加另一个计算列时:
hextoraw('41 42')
(因此,相同的两个字节,但中间有一个空格),查询视图时出现此错误:
"错误:SAP DBTech JDBC:[264]:无效的数据类型:该值在函数hextobin()处的函数hextobin()处具有无效的十六进制格式"
我想了解问题所在。
在hextoraw的文档中(https://help.sap.com/viewer/fc5ace7a367c434190a8047881f92ed8/2.0.03/en-US/f5a9ca3718354a499a98ba61ae3da170.html ),其内容为:
"将字节的十六进制表示形式转换为字节字符串。十六进制字符串可以包含0-9,大写或小写af,并且字节的两位数字之间不能有空格;字节之间可以有空格。"
我认为在" 41 42"中,空间确实在两个字节(41和42)之间,这是怎么回事?
先谢谢您,并致以最诚挚的问候,
罗兰。
看看我认为是SAP HANA内核中正确的代码是什么,我非常有信心这是文档中的错误。
对于此事的100%声明,支持事件将是解决之道。
Lars,谢谢!
我在一个宠物项目中遇到了这个问题,所以我真的没有理由提出支持事件。 因此,如果我理解正确,文档应该已经读取到十六进制字符串中不允许有空格? (这对我来说也更有意义)
您可以将" 20"用于十六进制的空格,它将转换为字符串中的空格。 因此,您可以将公式用作hextoraw('412042'),结果将为'A B'。
嗨,
当我们将十六进制字节转换为字符串字符时; 我们将20作为最小的十六进制字节,可以将其转换为字符串字符,即空格。
因此09不能是可以转换为字符串字符的正确十六进制字节。 因此,十六进制字节必须在21到FF之间,作为hextoraw的参数。
希望我能解释一下:)
一周热门 更多>