Preguntándome acerca de tu pregunta 😉
Y nada que añadir a la explicación de Lars anteriormente.
Avalados por :
Hola a todos,
Tengo una vista que une algunas tablas.
He formateado la columna A (que obtengo de la tabla 1) con esta sintaxis
LOCALTOUTC ( CAST ("A" AS SECONDDATE ), 'AUSNSW', 'sap' )
Y nombro la nueva columna como B
Estoy buscando una declaración SQL de muestra para consultar la vista comparando la columna B en la cláusula WHERE.
No estoy seguro de cuál puede ser la sintaxis.
Gracias por tu ayuda.
Tri
Preguntándome acerca de tu pregunta 😉
Y nada que añadir a la explicación de Lars anteriormente.
Hola Florian,
¿Conoces la sintaxis para "tu_valor_de_comparación"? Me refiero a en qué tipo de formato podemos usar para comparar FECHA. En este caso es LOCALTOUTC.
Gracias.
Tri
Una opción sería usar el resultado de tu consulta de "transformación" como fuente de datos para otra consulta. Por ejemplo, algo así:
SELECT * FROM(
SELECT LOCALTOUTC ( CAST ("A" AS SECONDDATE ), 'AUSNSW', 'sap' ) as B FROM tu_tabla
)WHERE B = tu_valor_de_comparación;
Tengo la impresión de que estás preguntando "¿qué formato de fecha puedo usar para comparar con la salida de LOCALTOUTC?"
Si es correcto, entonces tengo buenas noticias para ti: LOCALTOUTC devuelve un tipo de dato fecha.
Y los tipos de datos fecha no tienen un formato. Las fechas tienen un valor específico, pero la forma en que imprimes el valor no tiene ningún impacto en el valor.
Por lo tanto, para comparar con un valor de fecha, necesitas otro tipo de dato fecha.
Por ejemplo, puedes comparar directamente
LOCALTOUTC (...) = current_date
porque ambas funciones devuelven valores de fecha.
Por otro lado, si deseas proporcionar un valor de fecha como texto, este valor debe convertirse a un valor de fecha. La forma de hacerlo es utilizando la función TO_DATE, que toma dos cadenas como entrada:
1. una cadena que representa el valor de la fecha
y
2. una cadena que representa el formato de la primera cadena.
Esto puede verse así:
TO_DATE ('14.02.2020', 'DD.MM.YYYY')
Realmente quieres ser muy claro acerca de esta distinción entre un valor de fecha y una cadena que representa un valor de fecha que necesita ser convertida.
A veces, cuando no se utiliza la función TO_DATE, HANA intentará convertir automáticamente/implícitamente la cadena a un valor de fecha probando formatos predefinidos.
No confíes en eso, escribe la conversión de cadena a fecha en tu declaración.
Volviendo a tu pregunta 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');
debería funcionar bien (si tu cadena de fecha y la cadena de formato coinciden).
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute