PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL COPY CSV avec deux chaînes NULL

Je pense que votre meilleur pari dans ce cas, puisque COPY ne prend pas en charge plusieurs NULL strings, est de définir le NULL argument de chaîne à l'un d'eux, puis, une fois que tout est chargé, faites un UPDATE qui définira des valeurs dans n'importe quelle colonne que vous souhaitez avoir l'autre NULL chaîne que vous voulez au NULL réel valeur (la requête exacte dépendrait des colonnes pouvant avoir ces valeurs).

Si vous avez un tas de colonnes, vous pouvez utiliser CASE déclarations dans votre SET clause pour retourner NULL si elle correspond à votre chaîne spéciale, ou la valeur sinon. NULLIF pourrait également être utilisé (ce serait plus compact). par exemple. NULLIF(col1, 'Not applicable')