¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como consultar uma view SQL comparando uma coluna na cláusula WHERE

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Olá a todos,

Tenho uma visualização que combina algumas tabelas.

Formatei a coluna A (obtida da tabela 1) com esta sintaxe

LOCALTOUTC (  CAST ("A" AS SECONDDATE ), 'AUSNSW', 'sap' )

E nomeio a nova coluna como B

Estou procurando uma declaração SQL de exemplo para consultar a visualização comparando a coluna B na cláusula WHERE.

Não tenho certeza da sintaxe correta.

Obrigado pela ajuda.

Tri

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Perguntando sobre a sua pergunta 😉

E nada a acrescentar à explicação do Lars anteriormente.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Florian,

Você conhece a sintaxe para "seu_valor_de_comparação"? Refiro-me a que tipo de formato podemos usar para comparar DATA. Neste caso, é LOCALTOUTC.

Obrigado.

Tri

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Uma opção seria usar o resultado da sua consulta de "transformação" como fonte de dados para outra consulta. Por exemplo, algo assim:

    
      SELECT * FROM(
        SELECT LOCALTOUTC(CAST("A" AS SECONDDATE), 'AUSNSW', 'sap') as B FROM tua_tabela
      ) WHERE B = teu_valor_de_comparação;
    
  
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Tenho a impressão de que estás a perguntar "que formato de data posso usar para comparar com a saída do LOCALTOUTC?"

Se estiveres correto, então tenho boas notícias para ti: o LOCALTOUTC retorna um tipo de dados data.

E os tipos de dados data não têm um formato. As datas têm um valor específico, mas a forma como imprimes o valor não tem impacto no valor.

Portanto, para comparar com um valor de data, precisas de outro tipo de dados data.

Por exemplo, podes comparar diretamente

LOCALTOUTC (...)  = current_date

porque ambas as funções retornam valores de data.

Por outro lado, se quiseres fornecer um valor de data como texto, esse valor deve ser convertido para um valor de data. A forma de o fazer é utilizando a função TO_DATE, que recebe duas strings como entrada:

1. uma string que representa o valor da data
e

2. uma string que representa o formato da primeira string.

Isto pode ser visto assim:

TO_DATE ('14.02.2020', 'DD.MM.YYYY') 

Queres realmente ser muito claro sobre esta distinção entre um valor de data e uma string que representa um valor de data que precisa ser convertida.

Às vezes, quando não se utiliza a função TO_DATE, o HANA tentará converter automaticamente/implicitamente a string para um valor de data testando formatos predefinidos.

Não confies nisso, escreve a conversão de string para data na tua declaração.

Voltando à tua pergunta original:

SELECT*FROM(SELECT LOCALTOUTC (CAST("A" AS SECONDDATE ), 'AUSNSW', 'sap' ) as B FROM your_table)WHERE B = TO_DATE ('14.02.2020', 'DD.MM.YYYY');

deve funcionar bem (se a tua string de data e a string de formato coincidirem).

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?