sql >> Base de Datos >  >> RDS >> Oracle

Cómo devolver fracciones de segundo de un valor de fecha y hora en Oracle

Al usar Oracle Database, puede usar TO_CHAR(datetime) función para devolver varias partes de un valor de fecha y hora, incluidos los segundos fraccionarios.

Para devolver la parte segundos fraccionarios de un valor de fecha y hora, use el FF elemento de formato.

Ejemplo

Aquí hay un ejemplo para demostrarlo:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL;

Resultado:

123456789

También es posible limitar la precisión agregando un número al FF parte:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL;

Resultado:

12345

El número puede ser 1 a través de 9 .

Anteponer la segunda parte

En los ejemplos anteriores, solo devolví la parte de los segundos fraccionarios y nada más.

Podemos incluir la parte de los segundos así como los segundos fraccionarios. Para hacer esto, use el SS . También podemos usar X para especificar el carácter de raíz (el símbolo utilizado para separar la parte entera de la parte fraccionaria):

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;

Resultado:

37.123456789

Si bien podría proporcionar explícitamente su propio carácter radix, por ejemplo, un punto (. ), la X El elemento de formato puede ser útil para portar a diferentes idiomas/territorios.

Cuando ejecuté los ejemplos anteriores, mi NLS_TERRITORY el parámetro se estableció en AUSTRALIA , lo que resultó en que el personaje radix fuera un punto final.

Esto es lo que sucede cuando cambio mi NLS_TERRITORY parámetro a GERMANY :

ALTER SESSION SET NLS_TERRITORY = 'GERMANY';

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;

Resultado:

37,123456789

Ahora el carácter base es una coma.

En realidad es el NLS_NUMERIC_CHARACTERS parámetro que especifica qué carácter se usa para el carácter base. Sin embargo, cambiar el NLS_TERRITORY el parámetro cambia implícitamente el NLS_NUMERIC_CHARACTERS parámetro. También puede actualizar explícitamente el NLS_NUMERIC_CHARACTERS parámetro si lo prefiere, en cuyo caso su NLS_TERRITORY el parámetro permanecerá sin cambios.

Consulte la Lista de elementos de formato de fecha y hora en Oracle para obtener una lista completa de los elementos de formato que se pueden usar para formatear valores de fecha y hora.