我將如何在cfscript中構造一個IN子句?下面是我有:ColdFusion - 如何在cfscript中執行SQL「IN」子句?
var tagList = "301,302,303,304";
var q = new Query();
q.setDatasource ("mydatasource");
var sqlStmt = "SELECT * FROM Tags WHERE tagID IN (:tagList)";
// I know the next line is not correct!
q.addParam (name="tagList", value="#tagList#", cfsqltype="??? WHAT SHOULD IT BE ???");
有一個簡單的方法來做到這一點,或者我需要通過標籤的列表進行迭代,分別添加每一個?
小點 - CF有時會好笑參數。在param名字後面往往需要一個尾部空格,導致我過去遇到過問題(例如'(:tagList)')(http://www.bennadel.com/blog/1678-Learning-ColdFusion-9-使用CFQuery和其他服務標籤在CFScript.htm) –
我沒有注意到這種行爲,但這是一篇很好的文章。謝謝! – Redtopia
當有人決定修剪所有空白,前導和尾隨,然後修剪尾隨空格是一個好主意時,這是最常見的情況。在清理完成之後,我們現在使用的解決方法是將括號括起來的所有參數(如您的IN所示),所以尾部空間永遠不會被這個愚蠢的清理腳本計算爲尾隨:) –