Return 使用 cx_Oracle 从 Oracle 提取数据时,用空字符串代替 Oracle NULL/Python None
Return Empty String in place of Oracle NULL/Python None when pulling data from Oracle using cx_Oracle
当我使用 cx_Oracle 模块提取数据时,None 被 return 代替 Oracle NULL。此时我正在使用以下函数将 None 转换为空字符串。
def xstr(s):
if s is None:
return ''
return str(s)
有没有办法让 cx_Oracle 模块成为 return 空字符串而不是 None?
您可以使用输出类型处理程序和输出转换器以这种方式进行转换。像这样。
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
以上代码将从数据库返回的任何空字符串转换为空字符串。
当我使用 cx_Oracle 模块提取数据时,None 被 return 代替 Oracle NULL。此时我正在使用以下函数将 None 转换为空字符串。
def xstr(s):
if s is None:
return ''
return str(s)
有没有办法让 cx_Oracle 模块成为 return 空字符串而不是 None?
您可以使用输出类型处理程序和输出转换器以这种方式进行转换。像这样。
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
以上代码将从数据库返回的任何空字符串转换为空字符串。