Fórum Extract (day from 01/10/03) = 01 Não funciona #39800
31/10/2003
0
Preciso de uma consulta que me retorne o status de um apto (OCUPADO, DISPONIVEL, RESERVADO), sendo que por dia... Porem, a tabela do banco armazena a data de entrada e de saida. Então, se eu tenho uma reserva para o apto 2 no periodo de 01/10 a 04/10, eu preciso que a consulta me retorne o seguinte:
dia 01 ocupado
dia 02 ocupado
dia 03 ocupado
dia 04 disponivel
dia 05 disponivel
...
Como se fosse uma tabela do excel, sendo os dias como colunas e os apartamentos como linhas...
Bem fiz a seguinte consulta:
SELECT H.ID,
H.HSDATAENT,
H.HSDATASAI,
A.ID AS IDAPTO,
(SELECT H.SITUACAO FROM HOSPEDAGEM H WHERE A.ID = H.HSAPTO_ID AND EXTRACT(DAY FROM 01/10/03) = 01),
(SELECT H.SITUACAO FROM HOSPEDAGEM H WHERE A.ID = H.HSAPTO_ID AND EXTRACT(DAY FROM 01/10/03) = 02)
FROM TBAPTO A
WHERE EXISTS (SELECT * FROM TBHOSPEDAGEM H WHERE A.ID = H.HSAPTO_ID
AND EXTRACT(MONTH FROM 01/10/03) = 10
AND EXTRACT(YEAR FROM 01/10/03) = 03)
só para ver se funcionava, mas deu o seguinte erro:
SQL error code = -105
Specified EXTRACT part does not exist in input datatype
O que estou errando?
alguem tem outra sugestão???
desde já agradeço...
Rafaelunp
Curtir tópico
+ 0Posts
31/10/2003
Marcelo.c
Gostei + 0
31/10/2003
Rafaelunp
Não funciona. Dá o mesmo erro...
Já tentei ´mm/dd/yy´, ´dd/mm/yy´...
Sugestões?!?!?!?!
Gostei + 0
31/10/2003
Marcelo.c
Gostei + 0
31/10/2003
Rafaelunp
Coloquei, já tirei, coloquei parenteses...
O erro deve estar no extract...
Sugestões?!?!?! :?: :idea: :?: :idea:
Gostei + 0
01/11/2003
Afarias
EXTRACT(DAY FROM CAST(´10/01/03´ AS DATE)) = 1
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)