-1
我試圖使用ES6字符串模板查詢我的數據庫ES6字符串模板litterals:處理陣列
我的SQL是這樣的:
SELECT * FROM table WHERE id IN();
中必須包含數組的每個項目,所以,我試過這樣的事情:
return connector.query`SELECT * FROM table WHERE AnalogHistory.TagName IN (${sensor})`.then(result => {return result.recordset});
這是行不通的。但如果我嘗試這樣的事情:
return connector.query`SELECT * FROM table WHERE AnalogHistory.TagName IN (${sensor[0]},${sensor[1]}, ${sensor[2]}, ...)`.then(result => {return result.recordset});
那麼這次,它的工作。那麼你們是否知道第一種方式(清潔工)會有什麼不同並以此爲依據?
這是什麼'connector.query',它實際上是作爲標記函數寫入的?如果是這樣,它如何處理標籤參數?如果不知道這一點,我們無法真正回答。 –
它們不是「字符串模板」,它們是模板文字。他們自己產生一個字符串;但是當你用一個標籤函數來使用它們(就像你看起來那樣),它們可能不會。 –
我可能會誤解你想做的事情,但是'$ {sensor.join(「,」)}'適合你的需求嗎?它將數組中的每個項目轉換爲一個字符串,然後用''來連接這些字符串,基本上完成了你在第二個例子中所做的。 –