请帮助我理解下面的代码到底是什么意思?
CASE WHEN REPLACE(tablename.columnname,CHR(13),'') <> ''
THEN
REPLACE(tablename.columnname,CHR(13), '')
ELSE
REPLACE(tablename.columnname,CHR(13),'')
供您参考:
tablename.columname = mara.matnr
mara
是一个表,matnr
是表Mara
中的字段名。
CHR(13)
是一个回车符,有时出现在文本字段中。 我研究过许多解决方案,在这些解决方案中,我必须将它们从字符串中删除,以便当我在报告前端(如 Excel(上显示它们时,它们不会转到新行。 这本质上就是这段代码正在做的事情 - 通过用零长度字符串替换回车来删除回车符。
您上面引用的CASE
表达式基本上是无用的,因为它在 THEN
和 ELSE
中使用相同的表达式。整个脚本可以重写为:
REPLACE(tablename.columnname,CHR(13),'')