我有一个从SP返回的结果集,然后在QoQ中进行操作。结果以ABCabc顺序显示。我希望他们按照AaBbCc的顺序。
例如,说出"名称"列包含值" Steve,Andy,anuj,bill,Mike" 。当我按ORDER BY名称时,结果按以下顺序列出:
而不是我想要的订单,这是:
答案 0 :(得分:3)
解决此问题的方法是选择强制它降低或降低的列,然后按该列排序。这个例子适用于CF9和CF11。原谅快速而粗略的代码,但只是鞭打它以显示订购工作:
<cfscript>
qry = QueryNew("TESTING");
QueryAddRow(qry); QuerySetCell(qry, "TESTING", "A");
QueryAddRow(qry); QuerySetCell(qry, "TESTING", "B");
QueryAddRow(qry); QuerySetCell(qry, "TESTING", "C");
QueryAddRow(qry); QuerySetCell(qry, "TESTING", "a");
QueryAddRow(qry); QuerySetCell(qry, "TESTING", "b");
QueryAddRow(qry); QuerySetCell(qry, "TESTING", "c");
</cfscript>
<cfquery name="qry2" dbtype="query">
SELECT TESTING, LOWER(TESTING) AS TMP FROM qry ORDER BY TMP</cfquery>
<cfoutput query="qry2">
#TESTING#<br />
</cfoutput>
这给了我以下输出:
A
a
B
b
C
c
如果你是在不做低位或高位的情况下做订单,那么你最终得到的输出类似于你想要的问题:
<cfquery name="qry3" dbtype="query">
SELECT TESTING, LOWER(TESTING) AS TMP FROM qry ORDER BY TESTING</cfquery>
<cfoutput query="qry3">
#TESTING#<br />
</cfoutput>
浏览器输出:
A
B
C
a
b
c