sql >> Databasteknik >  >> RDS >> PostgreSQL

Använder LENGTH (beräknad kolumn) i ORDER BY i Postgres sql

Postgres följer standarden genom att tillåta kolumnalias som order by nycklar. Så det här fungerar:

SELECT  CONCAT(first_name, last_name)  AS full_name
FROM customer
ORDER BY full_name;

Det utökar dock inte detta till uttryck använder aliasen. Du kan fixa detta med hjälp av subqueries eller CTE:er. Jag kan också föreslå en lateral sammanfogning:

SELECT v.full_name
FROM customer c CROSS JOIN LATERAL
     (VALUES (CONCAT(c.first_name, c.last_name))) v(full_name)
ORDER BY v.full_name;


  1. Varför får jag ORA-01401:infogat värde för stort för kolumn - när jag inte infogar?

  2. postgresql trigger på tsvector kolumn få ERROR:kolumn finns inte

  3. Postgres-fel i batchinfogning:relation hibernate_sequence existerar inte position 17

  4. MySQL:varför varchar(254) och inte varchar(255)?