奇怪的查询字符串行为

时间:2014-08-01 13:40:29

标签: coldfusion coldfusion-10

CF允许查询字符串在多行上。所以我将查询字符串存储在多行中的变量中,如

var strSQL="select
a.col1,
a.col2,
b.col3,
b.col4,
CASE WHEN Some_XYZ>0.1 THEN 'Y' ELSE 'N' END as kStatus
FROM (A_Derived_Table)
";

这是REST API的一部分,查询将花费太长时间或只是超时(api服务不返回结果)。为了便于阅读,我还以同样的方式编写了许多其他查询,从来没有遇到任何问题。 在sql server中,相同的查询在一秒钟内运行。 当我修改API并返回生成的sql时,我注意到很多\ t(tab)被添加到sql字符串中。我将字符串更改为

var strSQL="select a.col1, a.col2, b.col3, b.col4, CASE WHEN Some_XYZ>0.1 THEN 'Y' ELSE 'N' END as kStatus FROM (A_Derived_Table)";

一切都开始运作良好。 这个行为是什么/为什么? IIS7上的环境CF10,SQL Server 2008

1 个答案:

答案 0 :(得分:0)

来自评论

我认为在cfscript中编写查询是一个已知的问题/限制 - Tip using ColdFusion query in cfscript and something to watch out for和类似的问题 - Error using Query Paramaters with cfscript query。这里还提到了它 - Learning ColdFusion 9: Using CFQuery (And Other Service Tags) In CFScript