sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man visar nollvärden när man kör frågor i psql (PostgreSQL)

Som standard returneras null-värden som en tom sträng i psql. Men detta kan lätt ändras.

En anledning till att du kanske vill ändra detta är att undvika att null-värden förväxlas med faktiska tomma strängar.

Du kan ändra detta med \pset null 'value' kommando.

Exempel

Här är ett exempel att visa:

\pset null '<null>'

Resultat:

Null display is "<null>".

Det har nu ändrats så att null-värden kommer att returnera <null> istället för den tomma strängen.

Här är ett exempel på att köra en fråga som returnerar ett nullvärde:

SELECT null AS Result;

Resultat:

 result 
--------
 <null>
(1 row)

Den returnerar värdet som vi ställt in med \pset null kommando.

Här jämförs det med en tom sträng:

SELECT 
    null AS "Null Value",
    '' AS "Empty String";

Resultat:

 Null Value | Empty String 
------------+--------------
 <null>     | 
(1 row)

Det går inte att ta miste på vilken som är nollvärdet och vilken som är den tomma strängen.

Låt oss ställa in \pset null tillbaka till standardvärdet för att se hur förvirrande den tomma strängen kan vara:

\pset null ''
SELECT 
    null AS "Null Value",
    '' AS "Empty String";

Så här ser det ut när \pset null ställ in på standardvärdet:

 Null Value | Empty String 
------------+--------------
            | 
(1 row)

  1. Förhindrar den här koden SQL-injektion?

  2. PostgreSQL – Hur man eliminerar upprepade värden

  3. Oracle ORA-12154-fel på lokal IIS, men inte med Visual Studio Development Server

  4. SQL Server, konvertera en namngiven instans till standardinstans?