python的oracle模糊查询,oracle的like语句

对这个模糊语句的查询,我觉得就是一个磨人的大猪蹄子,不接受反驳

举个栗子

import cx_Oracle

conn=cx_Oracle.connect(username/userpass@192.168.1.10/db)
cursor = conn.cursor()


#这里举个栗子,查询语句

love="hello_world"

cursor.execute("select * from PythonList where like %s"%love)
solove=cursor.fetchall()
print(solove)
#这个是错误的,会报错

如以上所见这是一个很常见的查询语句,但是报错是啥博主给忘了,也懒得试一下了。希望哪个大佬看到的博主这句话,有刚好遇到这个问题的,麻烦再下面的评论哪里叨叨一句。

可能在平时都会在oracle中用到模糊查询,但是出错之后会被一些大佬追究成是因为添加了分号也就是  ;   ,也就是上面一个点下面一个逗号的这个数据库常用语句符号。但其实真正的原因是变量的使用,真正的方法应该是

import cx_Oracle

conn=cx_Oracle.connect(username/userpass@192.168.1.10/db)
cursor = conn.cursor()


#这里举个栗子,查询语句

#love="hello_world"#错误错误
#错误的原因是这里


love="'hello_world%'"#正确语句
cursor.execute("select * from PythonList where like %s"%love)
solove=cursor.fetchall()
print(solove)
#此时这里能够正常从数据库获取值

 

原因在此声明一下,虽然不是很熟oracle,但是这里出错的原因是因为没有在这个变量的引号里面再加一个引号,另外里面加一个引号的同时还需要加一个%符号,也就是百分号。这个百分号的作用就是写作查询的作用。

介绍一下%(百分号)的使用方法

%abc     结尾是abc的模糊查询

abc%     开头是abc的模糊查询

%abc%  中间是abc的模糊查询

%ab_c   这个下划线代表任意一个字符,也就是结尾是    ab+任意一个字符+c

 

 

emmm

末尾在给加一个非变量查询语句

 

cursor.execute(“select * from PythonList where like 'ab_c%' ”)

心情好顺便给点个赞(傲娇式要赞)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值