如何删除 select 查询中的最后一个逗号
How to remove the last comma in select query
我正在尝试构建一个列,我想在另一个子查询中将其用作 in 子句,因此我尝试为值添加引号和逗号,但我找不到摆脱 last 的方法我的结果集中的逗号
select ((''''+(SUBSTRING(DESCRIPTION,29,8))+''''+',')
from Table1
where STACK is null
我的结果:
Data
'84259020',
'84259021',
'84259022',
'84259023',
预期结果:
Data
'84259020',
'84259021',
'84259022',
'84259023'
您可以尝试的一个简单解决方案是在您的值之前而不是之后附加逗号,然后用 stuff
包裹结果,例如
select Stuff(',a,b,c,d',1,1,'')
Result a,b,c,d
使用STRING_AGG
:
SELECT STRING_AGG(QUOTENAME(SUBSTRING(DESCRIPTION,29,8), ''''), ',')
FROM Table1
WHERE STACK IS NULL;
我正在尝试构建一个列,我想在另一个子查询中将其用作 in 子句,因此我尝试为值添加引号和逗号,但我找不到摆脱 last 的方法我的结果集中的逗号
select ((''''+(SUBSTRING(DESCRIPTION,29,8))+''''+',')
from Table1
where STACK is null
我的结果:
Data |
---|
'84259020', |
'84259021', |
'84259022', |
'84259023', |
预期结果:
Data |
---|
'84259020', |
'84259021', |
'84259022', |
'84259023' |
您可以尝试的一个简单解决方案是在您的值之前而不是之后附加逗号,然后用 stuff
包裹结果,例如
select Stuff(',a,b,c,d',1,1,'')
Result a,b,c,d
使用STRING_AGG
:
SELECT STRING_AGG(QUOTENAME(SUBSTRING(DESCRIPTION,29,8), ''''), ',')
FROM Table1
WHERE STACK IS NULL;