Ir para o conteúdo
A_T_C

Comparar Tabelas (Postgres)

Mensagens Recomendadas

A_T_C    0
A_T_C

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?  :-[

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

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))

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

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.

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade