SQL Server中如何结合SUBSTRING与REPLACE提取并清洗订单号?
SQL Server 去除提取订单号末尾逗号的解决方案
以下几种方法可以解决你提取订单号后末尾带逗号的问题:
方法1:先清除原字段的逗号再截取
先将原字段中的所有逗号替换为空,再基于处理后的字符串截取到第一个空格的位置,确保提取结果不带逗号:
SUBSTRING(REPLACE([Column], ',', ''), 1, CHARINDEX(' ', REPLACE([Column], ',', ''))) AS OrderNbr
方法2:截取后去除首尾逗号
如果确定只有提取结果的末尾存在逗号,可以用TRIM函数专门删除首尾的逗号(仅影响逗号,不改变其他字符):
TRIM(',' FROM SUBSTRING([Column], 1, CHARINDEX(' ', [Column]))) AS OrderNbr
方法3:结合LEFT与REPLACE简化截取逻辑
用LEFT函数直接截取到第一个空格前的字符,再替换掉可能存在的逗号:
REPLACE(LEFT([Column], CHARINDEX(' ', [Column]) - 1), ',', '') AS OrderNbr
注:CHARINDEX(' ', [Column]) - 1可以避免截取到空格本身,再通过REPLACE清除逗号。
内容的提问来源于stack exchange,提问作者Blowers
相关产品推荐
相关产品推荐

