sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL COPY CSV se dvěma řetězci NULL

Myslím, že v tomto případě je nejlepší volbou, protože COPY nepodporuje více NULL strings, je nastavit NULL string argument do jednoho z nich a poté, jakmile je vše načteno, proveďte UPDATE který nastaví hodnoty v libovolném sloupci, který si přejete mít druhý NULL řetězec, který chcete na skutečný NULL value (přesný dotaz bude záviset na tom, které sloupce mohou mít tyto hodnoty).

Pokud máte spoustu sloupců, můžete použít CASE příkazy ve vašem SET klauzule pro návrat NULL pokud odpovídá vašemu speciálnímu řetězci nebo hodnotě jinak. NULLIF mohl by být také použit (to by bylo kompaktnější). např. NULLIF(col1, 'Not applicable')




  1. Jak odstranit karty na začátku a konci pole varchar v MySQL?

  2. PHP používá CURRENT_TIMESTAMP z východního časového pásma

  3. Postgresql DROP TABLE nefunguje

  4. celé číslo je mimo rozsah a zbývající místo na disku je příliš malé na převod id na bigint a další řešení