javascript - 在 sql 语句中处理与号 (&)

标签 javascript sql regex oracle

<分区>

Possible Duplicate:
How do I ignore ampersands in a SQL script running from SQL Plus?

我有一个 using sql 语句,其中 WHERE 子句中显式使用了一个和号 (&)。

例如select * from table1 where column1 IN('abc',"'a & b',''def')

在此语句中,我将 IN 子句的值作为逗号分隔的字符串e.g.string1="'abc',"'a & b',''def'"

我直接用它来构建我的 sql 查询。 现在,当我尝试运行此查询时,我无法执行此查询,因为当我在运行时执行它时,它要求为 & 符号替换字符。

如何更改或改变我的查询以便我可以使用“&”符号

我是否应该在我要操作的字符串上使用正则表达式以使其工作。因为我在 sql 查询中使用的字符串(逗号分隔值)来自文本框。 我使用的数据库是Oracle

请帮忙

最佳答案

This Oracle Technology Network forum discussion为这个问题提供了各种解决方法。在我看来,最简单的是第一个建议,即替换它:

'a & b'

用这个:

'a &' || ' b'

但您可以浏览该页面,看看是否还有其他想法更适合您。

(虽然我不得不说 — 我有点担心您遇到此错误。这听起来好像您只是将用户提交的文本直接插入到 SQL*Plus 中......其中,如果是这样,那将真的很糟糕。如果用户提交了 ';\n DROP TABLE users; 会发生什么?)

关于javascript - 在 sql 语句中处理与号 (&),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9123426/

相关文章:

javascript - Cordova 后退按钮不起作用

java - 如何在java中使用正则表达式从下面的字符串中获取值

JavaScript - 我的函数在循环中被多次调用时仅触发一次

java - 提取字符串中出现的模式的多个实例?

javascript - 以编程方式停止 html/javascript/css 中的特定代码块

javascript - 添加到全局数组变量的项目不会在添加函数之外持续存在

sql - 重命名 SQL Server 中的约束?

mysql - 具有相互连接的多个表连接的 SQL 查询

sql - 在 MySQL 中创建分类表

javascript - 如何取消已经使用 JavaScript 进行的浏览器导航