sql 查询id 逗号拼接_sql 某字段存储另一个表的多个id值并以逗号分隔,现根据id去中文并拼接同样以逗号分隔...

首先介绍用到的两个函数 charindex(要查找的表达式1,表达式2),返回值为表达式1在表达式2中的下标,未找到则返回0。(sql的下标是从1开始的),例如 select charindex('sql','sql server 2012') 返回1

另一个是stuff(要替换的表达式1, 起始位置, 替换长度, 替换的表达式2) ,返回值是替换后的字符串  。例如select  STUFF('111',1,1,'2') 意思是 从下标1 开始,替换1个长度的字符,由1替换为2。结果返回 211 。一般stuff 会和 for xml path('') 连用。

SELECT

[Series] -- 该字段存储格式为 7,8,9,11,10,12 ,数据类型为nvarchar ,页面显示需要翻译成中文

,Series_Chinese = stuff((select ',' + Val  from a where charindex(','+ltrim(id)+',',','+ Series + ',') > 0 for xml path('') ), 1, 1, '')

FROM  b

这些函数我用的频率不算低,但是总是会忘记函数的格式和它实现的功能,在此证明我的记性是越来越差啦,表示好担忧未来的自己~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值