oracle通配符有哪些(oracle使用通配符[])
![oracle通配符有哪些(oracle使用通配符[])](/static/images/content_image/apples-2906457_1920.jpg)
本文目录
- oracle使用通配符[]
- Oracle中REGEXP_LIKE与LIKE的区别
- oracle 通配符查询语句
- 在Oracle EBS中“:”统配符是什么意思求回答
- oracle 通配符 []
- Oracle如何使用通配符
- oracle通配符[]的问题!!!急忙
- oracle jdbc 通配符怎么写
oracle使用通配符[]
like’%[y-z]’是SQLServer的写法Oracle可以尝试修改为whereREGEXP_LIKE(name,’[y-z]$’);注:REGEXP_LIKE是Oracle10g以上版本才有的,正则表达式匹配的函数。
Oracle中REGEXP_LIKE与LIKE的区别
Oracle中的Like操作符使用’_’和’%’作为通配符,使用就像这样:
SELECT name FROM test_like WHERE name like ’_a%’;
即匹配test_like表name列中第2个字母是a的所有行。但是注意,Oracle匹配时区分大小写的。也就是说上面的查询时无法查询到name=’SAas’这行的。
Oracle10g中提供的正则表达式功能可以很好的解决这个问题,当然这不是使用正则表达式函数的唯一优点,实际上它比Like操作符强大的多。
正则表达式的语法就不用多说了,现在大多数语言都支持正则表达式了。
下面主要介绍下Oracle中正表达式函数REGEXP_LIKE的使用:
REGEXP_LIKE(x, pattern [, match_option])
当源字符串x匹配正则表达式pattern时,返回true。可以使用match_option修改默认匹配选项,该参数可以被设置为:
- ’c’, 说明在进行匹配时区分大小写(默认选项)
- ’i’, 说明在进行匹配时不区分大小写
- ’n’ 允许使用可以匹配任意字符的操作符(通常是’.’)
- ’m’, 将x作为一个包含多行的字符串
举个例子:
SELECT * FROM test_reg WHERE REGEXP_LIKE(name, ’(a)\1’, ’i’);
上面的SQL语句匹配test_reg表中name列含有两个连续字符’a’(不区分大小写)的行,如name=’SaAs’。此外,这里我们还使用了正则表达式中的后引用语法——\n表示重复n次上次匹配的内容,此处(a)\1表示匹配两个连续的字符’a’。
需要注意的是,后引用必须使用双括号,否则会出现如下结果:
SELECT * FROM test_reg WHERE REGEXP_LIKE(name, ’a\1’, ’i’)
ORA-12727: 正则表达式中的后向引用无效
SQL》 SELECT * FROM test_reg WHERE REGEXP_LIKE(name, ’^_(a)\1’, ’i’);
NAME
---------- 实际应该使用:
SQL》 SELECT * FROM test_reg WHERE REGEXP_LIKE(name, ’^.(a)\1’, ’i’);
NAME
---------- SaAs
最后一点,不要混淆LIKE操作符的通配符和正则表达式的语法,也就是说不要再正则表达式中使用LIKE操作符中的通配符,如果这样做会得到未知的结果,因为’_’和’%’会被正则表达式当做普通字符进行匹配。
比如下面这条SQL想要得到name=’SaAs’这条记录,但实际的查询结果为空。
oracle 通配符查询语句
我有几个地方没整明白,如果你还在看的话,麻烦回答下
(1)你要输入的是2102?
比如页面上有一个窗口,他输入2102,可是没有2102所以就显示所有的以21开头的数字,是这个意思么?那么如果我输入个3102,如果没有31开头的,是不是要找以3开头的,比如3006,如果表中有个3106,3185,那么是两个都显示还是只显示3106?
拿上题来说,如果我输入2000,那么两个要不要都显示?
如果再有一行2315 王五 的数据,那么我输入2307,是显示2305这行,还是2305和2315都显示?
(2)21**表示是表中就是这么存的还是**表示可以是任意数字。只要不是2102就行?
在Oracle EBS中“:”统配符是什么意思求回答
SQL 通配符可以替代一个或多个字符,主要有 百分号%,下划线_,方括号,[^],
用于 select * from 表 where id like ’s%’
补充回答:这种叫模糊查询,就是给出部份内容来查询
FND%:%ENABLE CAN%
是指查询内容为 FND+任意字符+:+任意字符+ENABLE CAN+任意字符
%就是指任意字符且字符长度不限
例如 FNDX:XENABLE CANX 和 FNDXX:XXXXENABLE CANXXX就都符合
oracle 通配符 []
ORACLE里面的通配符是%的,类似’%abc%’
如果要查找含%或者别的特殊字符的话
可以这样select * from table where col like ’t\_\%a%’ escape ’\’;
那么这个就是查询匹配以t_%a开头的字符
Oracle如何使用通配符
你说的这个跟通配符没多大关系。
思路应该是先找到斜杠/所在字符串所处的位置,然后从这个位置的后一位截取到字符串的末尾。
创建表:
create table test(str varchar2(100));
insert into test values (’中国/南京’);
insert into test values (’美国/华盛顿’);
insert into test values (’日本/东京’);
commit;
执行:
结果:
里边用的instr、substr、length函数请自行百度各自用法。
oracle通配符[]的问题!!!急忙
like ’%[y-z]’ 是 SQL Server 的写法
Oracle 可以尝试修改为
where REGEXP_LIKE ( name, ’[y-z]$’ );
注: REGEXP_LIKE 是 Oracle 10g 以上版本才有的, 正则表达式匹配的函数。
oracle jdbc 通配符怎么写
将数据库存储在一个文件结构的一系列信息表中,文件结构使您能够访问表,选择表中的表进行排序并根据不同的标准选择。数据库经常与这些表中的多个列关联,因此我们可以尽可能快地访问它们。
tablemask面具描述要检索的表的名称。如果你想找回所有的表名,然后设置通配符%。请注意,SQL %符号,而不是一般的PC用户*符号。这是描述要检索的表类型的字符串数组。数据库通常包含一些内部处理的表,并且作为一个用户,您几乎没有什么价值。如果是NULL,你将得到所有这些表。如果将其设置为包含字符串\\“表”的单个元素数组,则只会得到对用户有用的表。
是一个简单的JDBC程序
我们学会了所有的基本功能,JDBC,现在我们可以编写一个简单的程序,该程序打开数据库,打印和表名称列表的内容,然后对数据库执行查询。This procedure is as follows:
package skydevkit;
import java.sql.*;
public class JdbcOdbc_test {
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData DMA;
Connection con;
public JdbcOdbc_test (throws) SQLException {
String url = \\\“jdbc:odbc:Northwind\\\“;
try {
\\\/\\\/ loaded JDBC-ODBC bridge driver
Class.forName (\\\“sun.jdbc.odbc.JdbcOdbcDriver\\\“);
con = DriverManager.getConnection (URL); \\\/ \\\/ database connection
dma = con.getMetaData (
System.out.println); \\\/ \\\/ get the metadata database (\\\“Connected to:\\\“); dma.getURL (+)
System.out.println (+) dma.getDriverName (\\\“Driver\\\“);
} catch (Exception E) {
System.out.println (E);
}
try BR》Statement (stmt) {《 = con.createStatement;
results = stmt.execute Query (\\\“select * from
ResultSetMetaData customers;\\\“); resultMetaData = results.getMetaData; cols = resultMetaData.getColumnCount (
int) (
String); resultRow = \\\“
for\\\“ (int; I = 1; I 《 cols; i++) {
resultRow = resultMetaData.getColumnName (I) + \\\“;\\\“;
}
System.out.println (resultRow) (results.next (
while; {
resultRow = \\\“\\\“));
for (int i = 1; I 《 cols; i++) {
try {
resultRow = results.getString (I) + \\\“;\\\“
}; catch (NullPointerException E) {
System.out.println ((e.getMessage));
}
}
System.out.println (resultRow);
}
} catch (Exception E) {
System.out.println (\\\“query exception\\\“);
} finally {
results.close (
}
}《
});补充高级
对SQLServer存储过程调用(例如:我们使用开发的数据库连接类
创建程序[dbo]。[ sp_getstudentbyname ](@名称)char(10))
作为
选择学生,[姓名] = @名字
去
编程* DBO新编程(新= sqlserverconnectionfactory(\\“localhost
1433 \\\\”演示“SA”
连接\\”));对dbo.getconnection(
CallableStatement pstmt);= null;
System.out.println(testdb1)(............“);
\\ \/ *尝试{
pstmt = con.preparecall(\\“{电话sp_getstudentbyid(?)}”);
pstmt.setint(1,1);
} * \\ \/
试{
pstmt = con.preparecall(\\“{电话sp_getstudentbyname(?)}“);\\ \/ \\ \/注意转移
pstmt.setstring参数(1,“汤姆”);
...... }使用
程序[dbo]。[ sp_insertstudent ](输出参数:
创建@名称char(10),“年龄int,@ ID INT输出)作为
插入学生([姓名],[年龄])值(@名称,“年龄)
选择@id = @ @身份
去试试{
pstmt = con.preparecall(“{电话sp_insertstudent(,,???)}”);
pstmt.setstring(1“zengqingsong \\”);
pstmt.setint(2,22);
pstmt.registeroutparameter(3,类型(整数);
pstmt。executeUpdate);
int id = pstmt.getint(3);
System.out.println(ID)};
使用返回参数的例子:
创建程序[dbo]。[ sp_insertstudent ](@名称char(10),“年龄int,@ ID INT输出
插入学生([姓名)] [年龄]),价值观(@ @姓名,年龄)
选择@id = @ @身份
返回30测试输出参数尝试返回30
去
试{
pstmt = con.preparecall(\\“{ =电话(?sp_insertstudent?,?,?)}”);
pstmt.setstring(2,zengqingsong);
pstmt.setint(3,22);
pstmt.registeroutparameter(4,类型,整数);
pstmt.registeroutparameter(1,类型,整数);
int(ret = pstmt。executeUpdate);\\ \/ \\ \/实施影响的行数
int ret2 = pstmt.getint(1);\\ \/ \\ \/返回参数(输出参数)
int id = pstmt.getint(4);对
System.out.println \\ \/ \\ \/输出参数(RET);
System.out.println(ret2);
System.out.println(ID);
![oracle通配符有哪些(oracle使用通配符[])](/static/images/content_image/leaves-15757_1920.jpg)
更多文章:
turtles歌曲(哪位大神有turtles(乌龟组合)的<谢谢>的歌词中文翻译 感激不尽)
2026年10月11日 10:00
金山铁路22号线(请问现在轨道交通22号线金山铁路是个什么情况据说9月28日就开通了啊~~~)
2026年10月11日 09:10
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40




