我有一个类似的问题:
我有一个生产表,有时包含非ascii字符,我们试图在备份所有字段的同时清理这些字符,这样我们就可以跟踪清理了什么,什么时候创建,什么时候维护。我通过引用生产表来创建备份表,这样两个表就完全相同了。
CREATE TABLE acc_nac_bak COMPRESS TABLESPACE sardsm AS
select distinct * from account where acc_id = 1;
delete from acc_nac_bak where acc_id = 1;
后来,当我意识到跟踪清洁日期会很好的时候,我改变了桌子:
alter table acc
我们已经定义了语法,并将表达式字符串存储在遵循此语法的数据库中。在我们的表达式中有一个可能的术语是IIF(条件,然后,其他)。在IIF条件下,我需要查询表达式表中包含“+”的所有表达式。
下面我试图用下面的语句搜索条件,条件有任意数量的非逗号字符,后面是'+‘,后面是任意数量的非逗号字符,后面是逗号。我哪里出问题了?
select * from ... and value like '%IIF([^\,]*\+[^\,]*\,%';
SELECT 'VALID' FROM DUAL WHERE REGEXP_LIKE ('[', '^([[ABC[]*)$');
-- This will return the expected result VALID.
SELECT 'VALID' FROM DUAL WHERE REGEXP_LIKE (']', '^([[ABC\]]*)$');
-- This is not returning the expected result.
请帮助建议如何对方括号“]使用转义序列。”
作为报告的一部分,我在select语句中编写了一个包含15个子查询的代码来获取详细信息。当我对这15列进行求和时,我收到了无效值错误。我的猜测是其中一列可能包含特殊字符。
因此,我使用condition NOT REGEXP_LIKE(Column_name,'\d')来获取包含特殊字符的行。由于有15列,我希望帮助检查在一个单一的拍摄所有列的条件。
WHRER NOT REGEXP_LIKE(Column_name,'\d')
应给出任意列中有特殊字符的行。
我想查询以元音结尾的城市列表,我希望列表中的每个城市都是不同的。下面的代码运行良好,但我希望使用IN或任何操作程序实现相同的功能。我已经附上了我正在使用的表的描述的图片。谢谢!
SELECT DISTINCT City FROM Station
WHERE City LIKE '%a'
OR City LIKE '%e'
OR City LIKE '%i'
OR City LIKE '%o'
OR City LIKE '%u';
我正尝试在查询中添加一个数字通配符,以查找特定位置的数字。该查询如下所示:
SELECT SUBMITTER
FROM BASE_ELEMENT
WHERE SUBMITTER LIKE 'm_%';
这个查询的问题是,它会提取所有以"m“开头并在第二个位置有一个字符的内容。我需要像Unix通配符一样工作的东西:
'm[0-9]*'
我希望它包含m0、m1、m2等,但不包括ma、mb、mc等。
在Oracle 10g中如何实现这一点?
我正在寻找一种“喜欢”和“在”中的方法,我尝试了sql方式,并得到了这个错误
Error running query: SYNTAX_ERROR: line 4:5: Unexpected parameters (varchar, varchar(35)) for function contains. Expected: contains(array(T), T) T:comparable
这是我用的台词
WHERE CONTAINS(name, 'registration_time% or login_failed%')
在阅读了一些关于内容,似乎它在雅典娜的使用是完全不同的
目前,我们正在使用此代码来标识包含特殊字符的几行。但它似乎没有捕捉到一些事件。你可以分享这个场景中使用的优化脚本吗? regexp_like(column_name, '^[^a-zA-Z]*$') then 'number'
regexp_like(column_name, '^[^g-zG-Z]*$') then 'hex'
我必须做一个regexp_like并列出130多个不同的检查。
目前,我正在获取表中所有匹配的字段。
但在结果表中,我只想要一个搜索列表和它们旁边的计数。
下面是
SELECT *
FROM company
WHERE REGEXP_LIKE (company_name, '(*)A. en P.$')
or REGEXP_LIKE (company_name, '(*)A.C.$')
or REGEXP_LIKE (company_name, '(*)GmbH$')
or REGEXP_LIKE (company_name, '(*)A
我试图避免动态sql。我需要检查一个参数的值,并根据它应用正确的子句。
例:
select * from table
WHERE 1 =
CASE
WHEN channel = 1 AND REGEXP_LIKE(LOGIN, '[[:digit:]]') THEN 1--only numbers
WHEN channel = 2 AND LOGIN LIKE 'MI|%' THEN 1
WHEN channel = 3 AND LOGIN NOT LIKE 'MI|%' AND NOT REGEXP_LIKE(LOGIN
我试图输出一个和列表,输入一个正则表达式列表。代码(带有Oracle DB的Python)如下所示:
**my_query** = """SELECT SUM(col) FROM table t WHERE REGEXP_LIKE(t.col2, {reg_expr})"""
outer_list_of_regex = [[reg1,reg2,reg3],[reg4,reg5,reg6],[reg7,reg8,reg9],[reg10,reg11,reg12]]
list_of_sums = []
for inner_list_of_regex
记录的错误字段中没有任何内容。注释掉的代码不会返回任何内容,但是当使用该变量时,它会返回一条记录。我做错了什么?
test varchar(5);
test := '1';
select * from timedetail
where empnum = '013061361' and tsdate = '1-nov-13'
--and regexp_like(errors, '[1,0]')
and regexp_like(errors, '[ || test || ]')
我试图将VARCHAR类型列的记录复制到同一表中的FLOATE类型列。目前,我正在使用一些正则表达式来实现this.And,我使用的查询是:
update ao_invoice_detail t1 set (t1.flex_field21, t1.flex_field22,flex_field23,flex_field24,flex_field25) = (
select
case when regexp_like(t2.flex_field1, '^-?[[:digit:],.]*$') then t2.flex_field1 end as field1,
case w
我不太擅长正则表达式,有一件事我不太明白。
我有一个字符串:'BSIOC_V6_560',以及一个不同模式的列表。我需要得到这个字符串匹配的每一个模式。但是,当我认为没有匹配时,我会尝试进行以下匹配:
select 'True' as Response from dual where REGEXP_LIKE('BSIOC_V6_560','BSIOC_V5*');
我一定是误会了什么。有人能给我解释一下吗?
我试图在Oracle中创建一个表,但是继续获得“ora-00917”:在我的第一个约束(P_IMAGEFILE_CHECK)的末尾缺少逗号错误。我试着添加和删除逗号,但是没有什么效果,我不认为这个说法是错误的。有什么建议吗?
CREATE TABLE P_SPECIES (
GENUS VARCHAR2(40 BYTE) NOT NULL,
SPECIES VARCHAR2(40 BYTE) NOT NULL,
COMMONNAME
我使用下面的内容来获取过去60天访问的页面的顶部数,在那里我需要在url中匹配'abc.cfm‘或'/entity/’。有什么方法可以用regex来完成吗?下面的方法可以使用还是有更好的方法。提前谢谢。
SELECT url, count(URL)
FROM tableone
WHERE ( INSTR(url, 'abc.cfm') > 0
or
INSTR(url, '/entity/') > 0 )
and VIEW_DT > sysdate - 60
group by URL
ord
我想减少我的SQL的大小。目前,我使用下面的代码来排除其中的某些deal_id。基本上,每个deal_id都有一个单独的NOT行。
下面有没有可能包含两个deal_id (200001和300001)的一行?
我需要使用与下面完全相同的通配符。IN子句可以在这里使用吗?或者我需要其他东西吗?
AND NOT description LIKE '%Error retrieving%Failed%deals deal_id = 200001,%'
AND NOT description LIKE '%Error retrieving%Failed%deals deal_id
我正在使用DbVisualizer连接到一个雅典娜实例。我有一个有效的查询: SELECT device, description, id, size, date FROM test.database WHERE month = '01'
and device not like '%link%'
and device not like '%Link%'
and device not like '%LINK%'
and id not like '%abc%'
and id not like '%Abc%
我正在处理Oracle中的一个查询,在这个查询中,我需要在like子句中输入多个参数。它可以是:
Select id from student where name like 'Tom'
union
Select id from student where name like 'Amy'
union
Select id from student where name like 'Jany'
这会产生更多的查询,我想要一些查询,比如.
Select id from student where name like ('Tom'
我是甲骨文新手。 我有一个数据库,其中存储CLOB数据类型的列的1。 如何搜索字符串#include( UTILITIES, 10_MORNING, EVENING ),但从结果集中排除字符串//#include( UTILITIES, 10_MORNING, EVENING )的匹配项? 我使用下面的命令,但它返回上面的两个字符串: select ID
from SCRIPTS
where regexp_like(MFG_SCRIPT, '#include( UTILITIES, 10_MORNING, EVENING )')
order by ID
我想使用LIKE条件查询我的表中的一列,这很好用- select * from my_table where my_column LIKE '%hello%'; 但是,如何在我的LIKE条件中查询包含多个字符串的列呢?找一些像这样的东西- select * from my_table where my_column LIKE ['%hello%'|'example%'|'%random%'|'%demo'];
Hi stackoverflow社区
我有以下问题,我非常希望有人能指引我正确的方向,我正在使用oracle数据库11.2.0.4
select count(*)
from pi_track
==>返回1'200'000行
和,
select count(*)
from pi_track
where REGEXP_LIKE (track,'^[[:digit:]]{4}$')
==>返回200'000行
我如何组合这两个语句,以便从第一个语句中减去第二个语句,从而返回1'000'000行?
我尝试做的是从第一个查询中减去几