我需要在引号内创建一个国家名称列表,并在末尾添加一个逗号 - 除了最后一个国家/地区名称,如下所示:
(我使用的是 ColdFusion 10)
"Tuvalu",
"Uganda",
"Ukraine",
"United Arab Emirates",
"United Kingdom",
"Uruguay"
<cfquery name="query_names" datasource="MyDB">
select short_desc
from tbl_country
where NVL(short_desc,' ') <> ' '
order by short_desc
</cfquery>
<cfset TotalRec = "#query_names.Recordcount#">
<cfloop query="query_names">
<cfif query_names.Recordcount GT 271>
<cfoutput>
"#Trim(short_desc)#" & ","
</cfoutput>
<cfelse>
<cfoutput>
"#Trim(short_desc)#"
</cfoutput>
</cfif>
</cfloop>
这个循环会导致国家名称在引号内,但没有逗号。所以我的循环结果:
"Tuvalu"
"Uganda"
"Ukraine"
"United Arab Emirates"
"United Kingdom"
"Uruguay"
最佳答案
如果您确实需要双引号,将引用的值附加到数组并在最后将其转换为列表可能更简单。 ArrayToList函数会自动为您处理逗号:
<cfset names = []>
<cfloop query="query_names">
<cfset arrayAppend(names, '"'& short_desc & '"')>
</cfloop>
<cfoutput>#arrayToList(names)#</cfoutput>
结果:
"Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","Uruguay"
旁注,如果是单引号,即
'
都可以接受,就更简单了。跳过循环,只需使用 QuotedValueList() : <cfoutput>#quotedValueList(query_names.short_desc)#</cfoutput>
结果:
'Tuvalu','Uganda','Ukraine','United Arab Emirates','United Kingdom','Uruguay'
关于coldfusion - 创建一个逗号分隔的引用值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770845/