Fórum Extract (day from 01/10/03) = 01 Não funciona #39800

31/10/2003

0

Pessoal,

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

Rafaelunp

Responder

Posts

31/10/2003

Marcelo.c

Tente:

SELECT H.SITUACAO FROM HOSPEDAGEM H WHERE A.ID = H.HSAPTO_ID AND EXTRACT(DAY FROM ´10/01/03´) = 01
(Data no formato ´mm/dd/yy´)


Responder

Gostei + 0

31/10/2003

Rafaelunp

Tente: [quote:3226be9402]SELECT H.SITUACAO FROM HOSPEDAGEM H WHERE A.ID = H.HSAPTO_ID AND EXTRACT(DAY FROM ´10/01/03´) = 01
(Data no formato ´mm/dd/yy´)[/quote:3226be9402]

Não funciona. Dá o mesmo erro...
Já tentei ´mm/dd/yy´, ´dd/mm/yy´...

Sugestões?!?!?!?!


Responder

Gostei + 0

31/10/2003

Marcelo.c

Você colocou o apóstrofe([b:32ac685d69]´[/b:32ac685d69]) ?


Responder

Gostei + 0

31/10/2003

Rafaelunp

Você colocou o apóstrofe([b:07676d30dd]´[/b:07676d30dd]) ?


Coloquei, já tirei, coloquei parenteses...
O erro deve estar no extract...

Sugestões?!?!?! :?: :idea: :?: :idea:


Responder

Gostei + 0

01/11/2003

Afarias

o parâmetro tem de ser do tipo DATE ou TIMESTAMP, ou seja::


EXTRACT(DAY FROM CAST(´10/01/03´ AS DATE)) = 1



T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar