Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

365
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda