周一至周五 : 08:30 - 17:30 客服专员电话/微信:18049979371 QQ:2982200781
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
截取字符串中
显示全部楼层 倒序浏览 发表日期 2025-04-25 16:59:40 35次阅读 0次回复
有一个字符串的值有4段内容组成,每一段之间有横杠,现在需要依据横杠将每一段分割为一列。

如:银行存款-房产公司-无锡远达-建行00206
写法:
  1. DECLARE @str VARCHAR(100) = '银行存款-房产公司-无锡远达-建行00206';

  2. SELECT
  3.     -- 第一段银行存款
  4.     SUBSTRING(@str, 1, CHARINDEX('-', @str) - 1) AS 科目,
  5.    
  6.     -- 第二段房产公司
  7.     SUBSTRING(
  8.         @str,
  9.         CHARINDEX('-', @str) + 1,
  10.         CHARINDEX('-', @str, CHARINDEX('-', @str) + 1) - CHARINDEX('-', @str) - 1
  11.     ) AS 公司类型,
  12.    
  13.     -- 第三段无锡远达
  14.     SUBSTRING(
  15.         @str,
  16.         CHARINDEX('-', @str, CHARINDEX('-', @str) + 1) + 1,
  17.         CHARINDEX('-', @str, CHARINDEX('-', @str, CHARINDEX('-', @str) + 1) + 1) -
  18.         (CHARINDEX('-', @str, CHARINDEX('-', @str) + 1) + 1)
  19.     ) AS 公司,
  20.    
  21.     -- 第四段建行00206
  22.     SUBSTRING(
  23.         @str,
  24.         CHARINDEX('-', @str, CHARINDEX('-', @str, CHARINDEX('-', @str) + 1) + 1) + 1,
  25.         LEN(@str)
  26.     ) AS 账户;
复制代码


结果:
科目 公司类型 公司 账户
银行存款 房产公司 无锡远达 建行00206


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |