Data contains single quote:
import json from datetime import date, datetime def to_greenplum_value(v): if v is None: return "NULL" elif isinstance(v, str): # escape single quotes for SQL return f"'{v.replace(\"'\", \"''\")}'" elif isinstance(v, date) and not isinstance(v, datetime): return f"'{v.strftime('%Y-%m-%d')}'" elif isinstance(v, datetime): return f"'{v.strftime('%Y-%m-%d %H:%M:%S')}'" elif isinstance(v, dict): if not v: # empty dict return "'{}'" else: json_str = json.dumps(v, ensure_ascii=False) return f"'{json_str.replace(\"'\", \"''\")}'" else: return str(v)
Data doesn't contain single quote:
import json from datetime import date, datetime def to_greenplum_value(v): if v is None: return "NULL" elif isinstance(v, str): return f"'{v}'" elif isinstance(v, date) and not isinstance(v, datetime): return f"'{v.strftime('%Y-%m-%d')}'" elif isinstance(v, datetime): return f"'{v.strftime('%Y-%m-%d %H:%M:%S')}'" elif isinstance(v, dict): if not v: # empty dict return "'{}'" else: return f"'{json.dumps(v, ensure_ascii=False)}'" else: return str(v)
Looks same with the to_hive_value() function.

浙公网安备 33010602011771号