设为首页 加入收藏

TOP

sql 某字段存储另一个表的多个id值并以逗号分隔,现根据id去中文并拼接同样以逗号分隔
2017-10-12 18:13:11 】 浏览:4721
Tags:sql 存储 一个 多个 逗号 分隔 根据 中文 拼接 同样

首先介绍用到的两个函数 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

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

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇IMP-00017: 由于 ORACLE 错误 655.. 下一篇oracle优化-leading提示和ordered..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目