• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

A_T_C

Comparar Tabelas (Postgres)

4 mensagens neste tópico

Boa tarde!

Preciso de comparar valores q se encontram em tabelas distintas...

Por exemplo,

Tabela1 :

id | Data

1  |01092009

2  | 23072005

Tabela2

id  | Dia | Mes | Ano

1  | 01  |  09 |  2009

4  |12    | 02  |  2020

e neste caso queria comparar as datas e verificar quais sao iguais... Qual a melhor forma de o fazer?  :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens que converter os dados da segunda tabela numa string.

Tens aqui um exemplo de como obter o resultado que queres em SQL Server:

declare @T1 table(
id int,
data varchar(20)
)

declare @T2 table(
id int,
dia tinyint,
mes tinyint,
ano smallint
)

insert into @T1 values (1, '01092009')
insert into @T1 values (2, '23072005')

insert into @T2 values (1, 1,9,2009)
insert into @T2 values (2, 12,2,2020)

select b.id, b.dia, b.mes, b.ano
from @T1 a inner join @T2 b
on a.data = REPLICATE('0', 2 - LEN(b.dia)) + cast(b.dia as varchar(2)) +
		REPLICATE('0', 2 - LEN(b.mes)) + cast(b.mes as varchar(2)) +
		REPLICATE('0', 4 - LEN(b.ano)) + cast(b.ano as varchar(4))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei, provavelmente não.

Mas o que faz até podes fazer manualmente, q é acrescentar um 0 do lado esquerdo qd o valor da data é menor que 10. Podes fazer com um case.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora