如何在AMDP中用单引号替换双引号?

2020-08-14 14:24发布

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

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


你好乡亲,

如何在AMDP中用单引号替换双引号"

我以这种方式尝试了 SELECT REPLACE(:lv_String,'"',``'')" DUMMY"的替换; 但它对我不起作用,出现了错误。

字符串为'(物料EQ" RMME03"或物料EQ" RM122")'

预期结果是" (材料均衡器'RMME03'或材料均衡器'RM122')"。

有什么办法吗? 你能帮我吗?

感谢和亲切问候,

Bhargava

(32.8 kB)

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

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


你好乡亲,

如何在AMDP中用单引号替换双引号"

我以这种方式尝试了 SELECT REPLACE(:lv_String,'"',``'')" DUMMY"的替换; 但它对我不起作用,出现了错误。

字符串为'(物料EQ" RMME03"或物料EQ" RM122")'

预期结果是" (材料均衡器'RMME03'或材料均衡器'RM122')"。

有什么办法吗? 你能帮我吗?

感谢和亲切问候,

Bhargava

(32.8 kB)
付费偷看设置
发送
5条回答
SAP小菜
1楼 · 2020-08-14 14:39.采纳回答

该错误消息并不表示您对REPLACE出错,它表示APPLY_FILTER中的过滤器无效:

 SQLScript APPLY_FILTER:无效的过滤器:'(Mat EQ``A'' 或Mat EQ" B")'

可能是因为EQ在SQL中对于HANA是无效的。 使用=代替:

(Mat ='A'或Mat ='B')

请注意,错误消息中连续单引号的存在可能使您分心 您认为HANA考虑了两个单引号,但实际上我想它只是错误消息输出的两倍,因为如果您对APPLY_FILTER使用了文字而不是变量,那么您将输入两个连续的单引号,就像这样 :

结果= APPLY_FILTER(表名,'(Mat =``A''OR Mat =``B'')')
灬番茄
2楼-- · 2020-08-14 15:01

请查看此SAP HANA 学院教程,并将其与replace函数配合使用以实现

https://www.youtube.com/watch?v=Oa1jMwnfjs8

谢谢

Abhishek Shanbhogue

野沐沐
3楼-- · 2020-08-14 15:03

Abhishek Shanbhogue 该视频是关于ESCAPE_SINGLE_QUOTES(" 翻倍)和ESCAPE_DOUBLE_QUOTES(将字符翻倍),不是要用'...

CJones
4楼-- · 2020-08-14 14:49

添加有关错误的OP屏幕截图:

< p>

DafaDDDa
5楼-- · 2020-08-14 14:41

你好罗西,

是的,您是对的。

我经过详细调试后才发现��。

无论如何,谢谢您的回复。

谢谢

Bhargava

一周热门 更多>