You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SSIS派生列中仅移除文本末尾的CLRF换行符

SSIS派生列实现仅移除文本末尾换行/回车换行组合方案

可以直接通过SSIS派生列的内置函数实现需求,无需额外组件,对应两个场景的实现方式如下:

场景1:仅移除文本末尾的CHAR(10)(单换行符)

判断字符串最后1位是否为换行符,匹配则截断最后1位,否则返回原字符串:

RIGHT(COLUMN_NAME,1) == CHAR(10) ? SUBSTRING(COLUMN_NAME, 1, LEN(COLUMN_NAME)-1) : COLUMN_NAME

场景2:仅移除文本末尾的CHAR(13)+CHAR(10)(CRLF组合)

判断字符串最后2位是否为CRLF组合,匹配则截断最后2位,否则返回原字符串:

RIGHT(COLUMN_NAME,2) == CHAR(13)+CHAR(10) ? SUBSTRING(COLUMN_NAME, 1, LEN(COLUMN_NAME)-2) : COLUMN_NAME

兼容两种场景的通用表达式

如果需要同时处理末尾存在单LF或CRLF组合的情况,可使用嵌套判断:

ISNULL(COLUMN_NAME) ? "" : (
RIGHT(COLUMN_NAME,2) == CHAR(13)+CHAR(10) ? SUBSTRING(COLUMN_NAME, 1, LEN(COLUMN_NAME)-2) : 
(RIGHT(COLUMN_NAME,1) == CHAR(10) ? SUBSTRING(COLUMN_NAME, 1, LEN(COLUMN_NAME)-1) : COLUMN_NAME)
)

注意事项

  • 上述表达式默认已增加空值判断,避免空字段触发计算错误
  • 若你需要保留字符串末尾的尾随空格,需将表达式中的LEN(COLUMN_NAME)替换为DATALENGTH(COLUMN_NAME)/2,因为SSIS的LEN函数会自动忽略末尾尾随空格,计算长度不准。

内容的提问来源于stack exchange,提问作者HackingWiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:36:05