String 终止字符串
我需要创建以下字符串String 终止字符串,string,oracle,String,Oracle,我需要创建以下字符串 '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 i
'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) )
如何在不获取最后一个逗号的情况下重写查询?我认为问题在于将逗号连接到值字符串。您应该指定逗号作为分隔符参数:
listag()
足够聪明,可以知道我们不需要后面的逗号:
listagg(''''||empName||'''' , ',')
^ ^
aggregation arg delimiter arg
默认分隔符是
null
,因此如果不指定参数,Oracle只需运行SeverythingTogetherInToAsingString:) 我认为问题在于,您将逗号连接到了值字符串中。您应该指定逗号作为分隔符参数:listag()
足够聪明,可以知道我们不需要后面的逗号:
listagg(''''||empName||'''' , ',')
^ ^
aggregation arg delimiter arg
默认分隔符是
null
,因此如果不指定参数,Oracle只需运行SeverythingTogetherInToAsingString:) 这不是T-SQL(SQL Server中使用的SQL方言)。对于此问题,sql server
标记不正确。请用正确的SQL方言提问和标记。这看起来像Oracle。这不是T-SQL(SQL Server中使用的SQL方言)。对于此问题,sql server
标记不正确。请用正确的SQL方言提问和标记。这看起来像Oracle。