猿问

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

当我使用 cx_Oracle 模块提取数据时,返回 None 代替 Oracle NULL。此时我正在使用下面的函数将 None 转换为空字符串。


def xstr(s):

    if s is None:

        return ''

    return str(s)

有没有办法让 cx_Oracle 模块返回一个空字符串而不是 None?


神不在的星期二
浏览 296回答 1
1回答

小怪兽爱吃肉

您可以使用输出类型处理程序和输出转换器以这种方式进行转换。像这样的东西。def OutConverter(value):    if value is None:        return ''    return valuedef 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上面的代码将从数据库返回的任何空字符串转换为空字符串。
随时随地看视频慕课网APP

相关分类

Python
我要回答