Join语句中的转换

2020-09-30 07:04发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


SAP专家,

我有一个带有2种不同数据类型的join语句。 第一个是具有alpha转换的char 10,第二个也是具有alpha转换的char 4。 join语句如下:

tab1-char10 = tab2-char4上的内部联接

数据类型如下:

字符10:0000000001

字符4:0001

您对如何在join语句中转换这些数据有任何建议吗? 预期结果是在上面的示例中满足了加入条件。

提前谢谢!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


SAP专家,

我有一个带有2种不同数据类型的join语句。 第一个是具有alpha转换的char 10,第二个也是具有alpha转换的char 4。 join语句如下:

tab1-char10 = tab2-char4上的内部联接

数据类型如下:

字符10:0000000001

字符4:0001

您对如何在join语句中转换这些数据有任何建议吗? 预期结果是在上面的示例中满足了加入条件。

提前谢谢!

付费偷看设置
发送
5条回答
Nan4612
1楼 · 2020-09-30 07:56.采纳回答

我猜您在谈论Open SQL。

ON条件的列之间的比较是在数据库中进行的,并且比较规则是特定于数据库的。 在这种特殊情况下,较长字段的右侧会被截断,或者较短字段的空白将被填充(这应该是规范行为)。 两者都将为您的上述示例提供不相等的值。

如果您的发行版已允许,则解决方案是使用 LPAD 可以用左侧的000填充较短的字段(到目前为止,RHS上不允许使用任何表达式)。 否则,您可能会使用Native SQL。

我是小鹏鹏啊
2楼-- · 2020-09-30 07:30

您好,Horst-感谢您帮助我。 在发布原始答案后,我想到了ABAP Development的主要标签,并意识到我的答案更多地是沿着SQL或Oracle语法进行的,在这些方面,我过去对诸如此类的数据项有一些经验,但并非所有字段都相同 固定长度,并且填充不一致。

callcenter油条
3楼-- · 2020-09-30 07:51

该字段始终为零填充,如" char 10"中所示,然后只需将" 00000000"连接到您的字段中,并用SQL语言进行右修剪 选择适当的字符数。 对该字段进行别名并在您的联接表达式中使用它。

南山jay
4楼-- · 2020-09-30 07:55

这不是问题的答案...

N-Moskvin
5楼-- · 2020-09-30 07:53
将data1左移删除前导" 0"  。 字符10
 *
 左移data2删除前导" 0"。  " char 4
 *
 ...其中data1 = data2。
   

一周热门 更多>