为了账号安全,请及时绑定邮箱和手机立即绑定

使用 cx_Oracle 从 Oracle 中提取数据时,返回空字符串代替

使用 cx_Oracle 从 Oracle 中提取数据时,返回空字符串代替

神不在的星期二 2021-06-06 06:38:38
当我使用 cx_Oracle 模块提取数据时,返回 None 代替 Oracle NULL。此时我正在使用下面的函数将 None 转换为空字符串。def xstr(s):    if s is None:        return ''    return str(s)有没有办法让 cx_Oracle 模块返回一个空字符串而不是 None?
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

您可以使用输出类型处理程序和输出转换器以这种方式进行转换。像这样的东西。


def OutConverter(value):

    if value is None:

        return ''

    return value


def OutputTypeHandler(cursor, name, defaultType, size, precision, scale):

    if defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR):

        return cursor.var(str, size, cursor.arraysize, outconverter=OutConverter)


connection.outputtypehandler = OutputTypeHandler

上面的代码将从数据库返回的任何空字符串转换为空字符串。


查看完整回答
反对 回复 2021-06-09
  • 1 回答
  • 0 关注
  • 295 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信