我有一个我想在oracle数据库表列中插入的正则表达式值但是我有一些问题,这些值没有在数据库中正确插入 这是我要插入的值:
.myselect_class{
display: inline-block;
}
此插入的结果是:
INSERT INTO valid_value VALUES (9, 14, 'REGEX[[A-Z.,-\s]+(,\s[A-Za-z.,-\s]+)?]', 1);
我输了"?"字符可以帮助我如何在表格列中插入正则表达式值。
我使用批处理文件启动脚本
valid_value
+--------------------------------------+
REGEX[[A-Z.,-\s]+(,\s[A-Za-z.,-\s]+)]
提前致谢
答案 0 :(得分:3)
如果您发现直接插入有困难,可以对每个特殊字符使用CHR
函数。
由于
答案 1 :(得分:2)
对于记录,所提到的字符都没有在SQL字符串中具有特殊含义,因此它们不需要任何特殊处理:
SQL> SELECT '&,?.@:;' AS are_we_special
2 FROM DUAL;
ARE_WE_
-------
&,?.@:;
... &
是唯一可能的异常(“SET DEFINE OFF” in Oracle Database),并且仅在SQL * Plus和SQL Developer的上下文中 - 在这种情况下,您将获得输入值对于xxxxx 提示。
无论OP有什么问题,CHR()
只是针对他具体未公开问题的解决方法。
答案 2 :(得分:0)
这可能对您有所帮助
INSERT INTO valid_value VALUES (9, 14, 'REGEX[[A-Z.,-\s]+(,\s[A-Za-z.,-\s]+)'?']', 1);
答案 3 :(得分:0)
试试这个:
INSERT INTO valid_value VALUES (9, 14, 'REGEX[[A-Z.,-\s]+(,\s[A-Za-z.,-\s]+) ?]', 1);
参见演示:
在SQLPLUS中:
SQL> /
COL1
---------------------------------------------
REGEX[[A-Z.,-\s]+(,\s[A-Za-z.,-\s]+) ?]
现在问题是您正在使用哪个客户端。在SQLPLUS中,它的工作方式如上所示。