1. oracle 通配符 []
ORACLE里面的通配符是%的,类似'%abc%'
如果要查找含%或者别的特殊字符的话
可以这样select * from table where col like 't\_\%a%' escape '\';
那么这个就是查询匹配以t_%a开头的字符
2. oracle sql 正则表达式
正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。
本文主要介绍了关于Oracle中正则表达式的使用方法,下面话不多说了,来一起看看详细的介绍。
Oracle使用正则表达式离不开这4个函数:regexp_like、regexp_substr、regexp_instr、regexp_replace。
1、regexp_like
该函数只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配
2、regexp_substr
该函数和 substr 类似,用于拾取合符正则表达式描述的字符子串
3、regexp_instr
该函数和 instr 类似,用于标定符合正则表达式的字符子串的开始位置
4、regexp_replace
该函数和 replace 类似,用于替换符合正则表达式的字符串
3. oracle jdbc 通配符怎么写
将数据库存储在一个文件结构的一系列信息表中,文件结构使您能够访问表,选择表中的表进行排序并根据不同的标准选择。数据库经常与这些表中的多个列关联,因此我们可以尽可能快地访问它们。
tablemask面具描述要检索的表的名称。如果你想找回所有的表名,然后设置通配符%。请注意,SQL %符号,而不是一般的PC用户*符号。这是描述要检索的表类型的字符串数组。数据库通常包含一些内部处理的表,并且作为一个用户,您几乎没有什么价值。如果是NULL,你将得到所有这些表。如果将其设置为包含字符串\\“表”的单个元素数组,则只会得到对用户有用的表。
是一个简单的JDBC程序
我们学会了所有的基本功能,JDBC,现在我们可以编写一个简单的程序,该程序打开数据库,打印和表名称列表的内容,然后对数据库执行查询。This procere 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);
4. oracle 通配符匹配字符限制字符长度
加一个and length(字段)<xx,(按照你的说法这个应该是字符型的吧,如果是数字型的,那么再to_char一下)
如果是数字型的字符,也可以用类似字段<100这样来控制长度的,<100就是两位数<1000就是三位数,以此类推。
5. Oracle如何使用通配符
你说的这个跟通配符没多大关系。
思路应该是先找到斜杠/所在字符串所处的位置,然后从这个位置的后一位截取到字符串的末尾。
创建表:
createtabletest
(strvarchar2(100));
insertintotestvalues('中国/南京');
insertintotestvalues('美国/华盛顿');
insertintotestvalues('日本/东京');
commit;
执行:
selectsubstr(str,instr(str,'/')+1,length(str)-instr(str,'/'))fromtest
结果:
里边用的instr、substr、length函数请自行网络各自用法。