实际上,我在Python中使用Cx_Oracle库来处理我的数据库Oracle。
import cx_Oracle as Cx
# Parameters for server connexion
dsn_tns = Cx.makedsn(_ip, _port, service_name=_service_name)
# Connexion with Oracle Database
db = Cx.connect(_user, _password, dsn_tns)
# Obtain a cursor for make SQL query
cursor = db.cursor()
我的一个
根据,以下是ANSI子字符串函数的语法:
<character substring function> ::=
SUBSTRING <left paren> <character value expression> FROM <start position>
FOR <string length> ] <right paren>
在SQL developer中对oracle 10g模式进行快速测试:
SELECT SUBSTRING('ASDF' FROM 1 FOR 1) FROM DUA
我编写了一个在Oracle数据库上运行的查询,该查询使用函数REGEXP_LIKE来过滤查询中的一些行。具体的函数调用是
regexp_like(col1, '[^[:alpha:]]')
问题是,当我在H2上运行查询时,我得到了以下错误:
org.h2.jdbc.JdbcSQLException: Function "REGEXP_LIKE" not found
如果我使用SQLDeveloper工具直接在Oracle数据库上运行查询,它会像预期的那样返回。
你知道是什么原因造成的吗?
我尝试使用cx_OracleTool的CopyData.py脚本在不同Oracle模式/实例上的两个表之间复制数据:
当我对我的表运行它时,我得到了错误:
No primary or unique constraint found on table.
老实说,我对Oracle了解不多,但据我所知,这些表似乎没有任何PK约束或任何类似的定义。
抛开它的优点不谈,我认为它只是为了权宜之计而设置的,而且它不太可能在短期内改变。
有没有办法让copyData.py在没有PK约束的情况下运行?
干杯,维克多
我有以下表格:
create table emp_test_lucian as select employee_id,last_name,first_name,department_id from employees;
ALTER TABLE emp_test_lucian
ADD PRIMARY KEY (employee_id);
create table dept_test_lucian as select department_id,department_name from departments_copy;
ALTER TABLE dept_test_lucian
ADD PRIM
我有一个表,我使用一个基于输入参数的过程在其中插入和更新数据。该过程是从Oracle APEX表单调用的。该过程在Oracle中运行良好。但是当我从Apex表单调用它时,我得到了过程失败的错误。经过分析,我发现这是因为从Apex form传递的值和Oracle中的值的日期格式不匹配。
Date format in APEX FORM-->16-AUG-2017
Date format in ORACLE DB-->2017-08-17
在调用Oracle procedure之前,我是否需要在Apex表单中格式化输入参数,或者是否需要在过程中更改其格式。请帮帮忙。
我试图复制Oracle函数,但在我看来,并非所有的参数都存在于Instr中。我收到此错误,我希望将此转换包含在表中的"plataforma“字段中,但我不能:
SELECT
SUBSTR(a.SOURCE, 0, INSTR(a.SOURCE, '-', 1, 2) - 1) AS plataforma,
COUNT(*) AS qtd
FROM db1.table AS as a
LEFT JOIN db1.table2 AS b ON a.ID=b.id
GROUP BY SUBSTR(a.SOURCE, 0, INSTR(a.SOURCE, '-'
好吧,我知道我的问题看起来很困惑。所以我会在这里解释它。所以我正在用bash脚本做一个mmo (我很无聊,请不要说用java或c++或类似的东西做),除了注册时我想要它之外,我不会真正解释它,所以我可以有一个if语句,看看他们的用户名中是否有挑衅的东西,然后告诉他们,然后让他们创建一个不同的用户名。我只是想让它变得更合适。因此,为了让if语句可以看到单词,我需要让它像这样
if [ var == provocative word ]; then
echo "You have a provocative word in your username. Please change"
我正在尝试将一些查询从Oracle环境转换到Postgres。这是其中一个查询的简化版本:
SELECT * FROM TABLE
WHERE REGEXP_LIKE(TO_CHAR(LINK_ID),'\D')
我认为等效的postgreSQL应该是这样的:
SELECT * FROM TABLE
WHERE CAST(LINK_ID AS TEXT) ~ '\D'
但是,当我在它们各自的环境中对完全相同的数据集运行这些查询时,第一个查询没有输出任何记录(这是正确的),第二个查询输出表中的所有记录。我没有编写原始代码,但据我所知,它在数值字段LIN
我用Hadoop存储了一些Oracle表,使用AVRO文件格式和Hive外部表来访问数据。
我在导入时使用来自Oracle的TO_CHAR函数将日期和时间戳值存储为格式化字符串。
现在,我想将这些精确的数据导出回一个带有日期列的Oracle表中。我使用以下命令:
// Create a data frame from the Hive table
val data = sqlContext.sql("select * from avro_table")
// export df to existing oracle table
data.write.mode("ove
如何检查字符串是否包含并以Kotlin中的给定正则表达式开头?
我本来以为我能做到的
fun main(args: Array<String>) {
var text = "test string"
val regex = Regex.fromLiteral("^test")
val matches: Boolean = text.contains(regex)
assert(matches)
}
但这行不通。它在没有^值的情况下按预期工作。即使是执行matches或find,或者像这样的Regex运算符,似乎也不起作
是否有一些SQL SELECT查询可以在oracle中执行,以检测字段中的ascii字符,如LF、CR?基本上,人们所知道的在oracle db环境中在破坏作业/过程等方面造成麻烦的任何字符。
我怀疑这是否有效:-如果可能的话,我很乐意使用regex
select * from table
where column like '%chr(13)%'
有一段时间,我尝试运行一个类似于以下内容的Oracle sql查询
...
OR
(SELECT COUNT(fieldname)
FROM MYTABLE
WHERE -- SOME LOGIC HERE --
) > 0
OR
(SELECT COUNT...) = 1
AND
(SELECT COUNT)...) = 5
当我只选择括号内的代码并执行它时,它显示了56作为唯一的结果。但是当选择所有表达式时,它在最后一行报告了一个带有>运算符的错误。
对于我来说,Oracle是一个新事物,我无法安装它来测试它,但我认
我试图检查插入到employee表中的登录是否是以某种格式提供的,即:第一个字母是严格指定的- x,然后是5个字母和两个数字=> xlogin00。
CREATE OR REPLACE TRIGGER check_login
BEFORE INSERT OR UPDATE OF login ON employee
FOR EACH ROW
DECLARE
xlogin00 employee.login%TYPE;
prefix VARCHAR2(1);
name VARCHAR2(5);
number VARCHAR2(2);
BEGIN
xlogin00