【发布时间】:2018-06-21 19:32:11
【问题描述】:
我有一个正则表达式值,我想在 oracle 数据库表列中插入,但我遇到了一些问题,即该值没有正确插入到数据库中 这是我要插入的值:
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]+)]
我失去了“?”有人可以帮助我了解如何在表格列中插入正则表达式值。
我使用批处理文件启动脚本
set DB_CREATE_ROOT="%~dp0"
set SQL_INIT_CONF_DIR=%DB_CREATE_ROOT%\Scripts\configuration\
for /r %SQL_INIT_CONF_DIR% %%F in (*init.sql) do (
ECHO %DATE% %TIME% "%%F" >> %LOG_NAME%
sqlplus -L Test_APP/welkom@//localhost:1521/xe @"%%F" >> %LOG_NAME% 2>&1
)
提前致谢
【问题讨论】:
-
在 SQL*Plus 和 SQL Developer 中对我来说很好用。您使用的是哪个客户端?它想也许客户正在解释问号?
-
这些字符在 SQL 上下文中都没有特殊含义,正如简单的
SELECT 'REGEX[[A-Z.,-\s]+(,\s[A-Za-z.,-\s]+)?]' FROM DUAL;所示。您面临的具体问题是什么? -
它在 sqldevlopper 中工作正常,但是当我使用 sqlplus 运行脚本时它不起作用
-
它在 SQL*Plus 中对我有用。 究竟在多大程度上不起作用?
-
它插入这个值 REGEX[[AZ.,-\s]+(,\s[A-Za-z.,-\s]+)] 而不是 REGEX[[AZ., -\s]+(,\s[A-Za-z.,-\s]+)?] 我失去了 ? 个字符