终止字符串
问题描述:
我需要创建以下字符串;终止字符串
'A-NUPHAT','AMIRA','AMNAD','ANAT','ANUCHAT',
,但没有最后一个逗号:
这是我的查询:
select listagg( '''' || empName||'''' || ',' ) within group (order by empName)
from (select distinct T4.Rep_Emp_Name as empName
from YAN_TASKS t0
inner join YAN_PLATES t1
on t0.firm_code = T1.Firm_Code
and T0.Plate_Code= T1.Plate_Code
inner join Rep_Emp_Names t2
on T1.Firm_Code = T2.Firm_Code
and T1.Rep_Emp_Code=t2.REP_EMP_CODE
inner join YAN_EMP_TASKS_PLAN t3
on t0.firm_code=t3.firm_code
and T0.Task_Doc_Nbr = T3.Task_Doc_Nbr
inner join Rep_Emp_Names t4
on t4.firm_code = t3.firm_code
and t4.Rep_Emp_Code=t3.Rep_Emp_Code) )
如何重写查询,没有得到最后一个逗号?
答
我认为问题在于您将逗号连接到您的字符串值。您应该指定逗号作为分隔符,而不是争论:listagg()
是足够聪明的知道,我们并不需要一个尾随逗号:
缺省的分隔符是null
,所以如果我们不指定参数甲骨文刚runseverythingtogetherintoasinglestring :)。
这不是T-SQL(SQL Server中使用的SQL方言)。这个问题'sql-server'标签不正确。请用正确的SQL方言编辑你的问题和标签。 –
这看起来像Oracle。 –