SQL SERVER 不转义拼接字符
程序员文章站
2022-04-20 14:49:58
...
--例子:
left join (
select in_a.BaseChgNo,stuff((
select ','+in_b.EmpCode
from tBaseChgStakeholder in_b
where in_a.BaseChgNo=in_b.BaseChgNo
for xml path(''), type
).value('.', 'NVARCHAR(MAX)'),1,1,'') EmpCodes
from tBaseChgStakeholder in_a
group by in_a.BaseChgNo
) g on g.BaseChgNo=f.No
BaseChgNo | EmpCodes |
JZ000001 | 00404,00473 |
JZ000002 | 00404,00473 |
JZ000003 | 00014,00013 |
JZ000004 | 00006,00007 |
--STUFF字符串函数是将字符串插入到另一个字符串中。
--它会删除开始位置第一个字符串中的指定长度的字符,然后将第二个字符串插入到开始位置的第一个字符串中。
STUFF(<character_expression>,<开始>,<长度>,<character_expression>)
--利用FOR XML PATH则返回XML格式的字符串,添加type参数不转义,例:
select (SELECT 'ab<&c' FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)')
参考:
上一篇: SQL server 关于时间的转换
下一篇: php生成数组的使用示例_PHP教程