【发布时间】:2023-04-03 01:35:01
【问题描述】:
我正在使用 Node.js 编写 SQL 查询。查询形成后我会调用数据库来获取数据。
我的查询如下所示,
and technology in (values) and subTechnology in (values) and geo in (values) and
等等。现在values可能是('a')或('b', 'c', 'a')。它会动态出现。
现在我想删除部分和technology in (values)。我可以使用str.replace() 方法。但是,对于values 部分,我必须对其进行硬编码。我不想要的。而values 也是动态出现的。
有没有捷径可以做到这一点?
我不想使用for 循环或类似的东西。
【问题讨论】:
-
也许使用正则表达式从实际字符串中匹配您想要的内容并得到它?或者也许有这些
technology、subtechnology和geo的列表并使用此列表生成最终查询?您可以在生成查询之前从列表中删除不需要的列。 -
是的,可以使用 substr() 和 indexOf() 方法完成
-
这里的用例是什么?为什么你不能一开始就按照你想要的方式编写查询?操作 SQL 可能非常棘手,语法充满细微差别,因此不存在通用的解决方案。
-
@tadman:你的观点很好。但是这个字符串在查询的两个或三个部分中使用了其中只有一个地方我想删除上面提到的东西
标签: javascript mysql sql node.js database