Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

368
Views
¿Devolver valor alternativo si es nulo?

Hola, estoy usando postgres 12. Llevo unos días aprendiendo.

Quería saber si es posible escribir en la etapa CREATE TABLE: IF column_x is NULL, return 'alternative value' ?

Esta es mi tabla actual:

 CREATE OR REPLACE FUNCTION update_modified_column() RETURNS TRIGGER AS $$ BEGIN NEW.modified = NOW(); RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TABLE example ( id BIGSERIAL NOT NULL PRIMARY KEY, entry_name VARCHAR(150) NOT NULL UNIQUE, about VARCHAR(1500), org_type VARCHAR(150), category VARCHAR(150), sub_categories VARCHAR(300), website_link VARCHAR(300) UNIQUE, membership VARCHAR(100), instagram VARCHAR(150) UNIQUE, twitter VARCHAR(150) UNIQUE, link_lists VARCHAR(100) UNIQUE, facebook VARCHAR(200) UNIQUE, youtube VARCHAR(200) UNIQUE, podcast VARCHAR(200) UNIQUE, tags VARCHAR(150), created TIMESTAMPTZ NOT NULL DEFAULT NOW(), modified TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE TRIGGER set_timestamp BEFORE UPDATE ON bbdb FOR EACH ROW EXECUTE PROCEDURE update_modified_column();

Entonces, en este escenario, me gustaría que cualquier entrada nula en 'acerca de' y 'website_link' diga 'Próximamente' y que todas las entradas nulas de las redes sociales digan simplemente 'Ninguna'. ¿Supongo que mi restricción ÚNICA no permitiría esto? (Los tengo para evitar duplicados de entradas en caso de que el 'nombre_entrada' se envíe con variaciones).

Gracias por cualquier ayuda.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Como definió todas esas columnas como UNIQUE , puede tener múltiples valores null , pero no puede tener dos filas con el mismo valor 'Coming soon' .

Pero puede reemplazar esos valores NULL durante la recuperación, con el reemplazo deseado:

 select id, coalesce(website_link, 'Coming Soon') as website_link, coalesce(about, 'Coming soon') as about, coalesce(twitter, 'None') as twitter, coalesce(instgram, 'None') as instagram from the_table;

Si no desea escribir eso cada vez, cree una vista que lo haga por usted.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!