MS Access SQL实现四种分隔格式的字段拆分至XC、XS列
MS Access SQL 拆分多格式分隔字段
针对你的MyColumn字段存在的四种分隔格式,以下是两种高效的拆分方案,可将内容分别存入XC和XS列:
方案一:基于固定前缀定位(推荐)
利用XC、XS编码的固定前缀特征,直接定位拆分点,无需处理复杂的分隔符组合:
UPDATE 你的表名 SET XC = Trim(Left(MyColumn, InStr(MyColumn, 'XS') - 1)), XS = Trim(Mid(MyColumn, InStr(MyColumn, 'XS')))
- 原理:通过
InStr找到XS在字符串中的起始位置,截取该位置左侧内容并去除首尾空格得到XC;从XS起始位置开始截取右侧内容并去空格得到XS。 - 优势:不依赖分隔符格式,容错性强,即使后续出现新的分隔样式(如多个空格)也能正常拆分。
方案二:统一分隔符后拆分
先将所有可能的分隔符(-、- 、 -、 )替换为统一的单个空格,再按空格拆分:
UPDATE 你的表名 SET XC = Trim(Left(MyColumn, InStr(Replace(Replace(Replace(MyColumn, ' - ', ' '), '- ', ' '), ' -', ' '), ' ') - 1)), XS = Trim(Mid(MyColumn, InStr(Replace(Replace(Replace(MyColumn, ' - ', ' '), '- ', ' '), ' -', ' '), ' ') + 1))
- 原理:三次
Replace操作将所有分隔格式统一为单个空格,再通过InStr找到空格位置完成拆分。 - 适用场景:如果编码前缀不固定,只能依赖分隔符的情况。
内容的提问来源于stack exchange,提问作者Req_7
相关产品推荐
相关产品推荐

