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
這些函數我用的頻率不算低,但是總是會忘記函數的格式和它實現的功能,在此證明我的記性是越來越差啦,表示好擔憂未來的自己~~~~
?
轉載于:https://www.cnblogs.com/yucaoye/p/7133125.html
總結
以上是生活随笔為你收集整理的sql 某字段存储另一个表的多个id值并以逗号分隔,现根据id去中文并拼接同样以逗号分隔...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS安装fortune+cows
- 下一篇: 贪心4--拦截导弹