求助,DatabaseError: (cx_Oracle.DatabaseError) ORA-00904: "xiaoli": 标识符无效

spyder编译器,python3.6.2版本
oracle查询数据时,一直报错

import pandas as pd
import cx_Oracle
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

os.environ[‘NLS_LANG’] = ‘SIMPLIFIED CHINESE_CHINA.UTF8’
engine=create_engine(‘oracle+cx_oracle://test:12345678@localhost/orcl’)
conn=engine.connect()
DBSession=sessionmaker(bind=engine)
session=DBSession()
conn.execute(‘drop table test.test4’)
conn.execute(‘create table test4(name varchar2(10),gender varchar2(10),age varchar2(10))’)
test_data=pd.DataFrame([[‘小东’,’男’,15],[‘小花’,’女’,12],[‘xiaoli’,’nan’,16]],
index=[1,2,3],columns=[‘name’,’gender’,’age’])
test_data.to_sql(‘test4’,engine,if_exists=’append’,index=False)
sql=’select * from test4 where name=xiaoli’
sql=’select * from test4 where NAME=xiaoli’
sql=’select * from test4 where name=’xiaoli”
sql=’select * from test4 where NAME=’xiaoli”
sql=’select * from test4 where name=”xiaoli”’
sql=’select * from test4 where NAME=”xiaoli”’
sql=’select * from test4 where to_char(“name”)=xiaoli’
这几种方法都试了,一直报错,但是
sql=’select * from test4 where age=12’
就正常出结果
也就是说只要查询数字就能出结果,查询字母和汉字都报下面的错
z3=pd.read_sql(sql,con=engine)
print(z3)

报错
DatabaseError: (cx_Oracle.DatabaseError) ORA-00904: “XIAOLI”: 标识符无效 [SQL: ‘select * from test4 where to_char(“name”)=xiaoli’] (Background on this error at: http://sqlalche.me/e/4xp6)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值