Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

364
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda