请解释句子REPLACE(tablecolumn,CHR(13),)在db2(本机SQL)中的真正含义



请帮助我理解下面的代码到底是什么意思?

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表达式基本上是无用的,因为它在 THENELSE 中使用相同的表达式。整个脚本可以重写为:

REPLACE(tablename.columnname,CHR(13),'')

最新更新