Skip to content

Archives

  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021

Categories

  • No hay categorías
Trend RepositoryArticles and guides
Articles

Tutorial para Oracle DBA

On enero 1, 2022 by admin
Formación de FECHAS en Oracle
  • Funciones y Operadores de Fecha.
  • SYSDATE Ejemplo
  • CURRENT_DATE Ejemplo
  • SYSTIMESTAMP Ejemplo
  • Modelos de formato de fecha
  • TO_DATE Ejemplo
  • ADD_MONTHS
  • MONTHS_BETWEEN
  • Último día
  • NEXT_DAY
  • EXTRACT

Funciones y Operadores de Fecha.

Para ver la fecha y la hora del sistema utilice las siguientes funciones :

CURRENT_DATE :devuelve la fecha actual en la zona horaria de la sesión, en un valor del calendario gregoriano de tipo de datos
DATE
SYSDATE :devuelve la fecha y la hora actuales.
SYSTIMESTAMP :La función SYSTIMESTAMP devuelve la fecha del sistema, incluyendo los segundos fraccionarios y la zona horaria
de la base de datos. El tipo de retorno es TIMESTAMP CON ZONA HORARIA.

SYSDATE Ejemplo

Para ver la fecha y hora actual del sistema dar la siguiente consulta.

select sysdate from dual;
SYSDATE
——-
8-AUG-03

El formato en que se muestra la fecha depende del parámetro NLS_DATE_FORMAT.

Por ejemplo, establezca el NLS_DATE_FORMAT con el siguiente formato

alter session set NLS_DATE_FORMAT=’DD-MON-YYY HH:MIpm’;

Luego dé la siguiente sentencia

select sysdate from dual;
SYSDATE
——————
8-AUG-2003 03:05pm

La configuración por defecto de NLS_DATE_FORMAT es DD-MON-YY

CURRENT_DATE Ejemplo

Para ver la fecha y la hora actuales del sistema con la zona horaria utilice la función CURRENT_DATE

ALTER SESSION SET TIME_ZONE = ‘-4:0’;
ALTER SESSION SET NLS_DATE_FORMAT = ‘DD-MON-YYYY HH24:MI:SS’;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-04:00 22-APR-2003 14:15:03
ALTER SESSION SET TIME_ZONE = ‘-7:0’;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-07:00 22-APR-2003 09:15:33

SYSTIMESTAMP Ejemplo

Para ver la fecha y hora actual del sistema con los segundos fraccionados con la zona horaria dar la siguiente sentencia

select systimestamp from dual;
SYSTIMESTAMP
——————————-
22-APR-03 08.38.55.538741 AM -07:00

Modelos de formato de fecha

Para traducir la fecha a una cadena de formato diferente se puede utilizar la función TO_CHAR con formato de fecha. Por ejemplo para ver el día actual se puede dar la siguiente consulta

Seleccionar to_char(sysdate,’DAY’) «Hoy» FROM DUAL;
TODAY
——-
THURSDAY

Para traducir un valor de carácter, que tiene un formato distinto al formato de fecha por defecto, a un valor de fecha se puede utilizar la función TO_DATE con formato de fecha a fecha

Al igual que este modelo de formato «DAY» hay muchos otros modelos de formato de fecha disponibles en Oracle. En la siguiente tabla se enumeran los modelos de formato de fecha.

.

.

FORMATO

Significado

D

Día de la semana

DD

Día del mes

DDD

Día del año

DÍA

Día completo por ej.

Día

Día en tres letras para ej. ‘LUN’, ‘JUE’,’FRI’

W

Semana del mes

WW

Semana del año

MM

Mes en dos dígitos (1-Enero, 2-Feb,…12-Dic)

MON

Mes en tres caracteres como «Ene», «Feb», «Abr»

MONTH

Mes completo como «Enero», «febrero», «abril»

RM

Mes en caracteres romanos (I-XII, I-En, II-Feb,…XII-Dic)

Q

Cuarto del mes

YYY

Últimos dos dígitos del año.

AÑO

Año completo

Año

Año en palabras como «Mil novecientos noventa y nueve»

HH

Horas en formato de 12 horas

HH12

Horas en formato de 12 horas

HH24

Horas en formato de 24 horas

MI

Minutos

SS

Segundos

FF

Segundos fraccionados

SSS

Milisegundos

J

Día juliano i.e Días desde el 1 de enero de 4712 a.C. hasta la fecha

RR

Si el año es inferior a 50 se asume el año como el siglo XXI. Si el año es mayor que 50 entonces asume el año en el Siglo XX.

sufijos

TH

Devuelve th, st, rd o nd según el número principal como 1st , 2º 3º 4º

SP

Escribe el número principal

AM o PM

Devuelve AM o PM según la hora

SPTH

Devuelve el número ordinal deletreado. Para. Ejemplo Primero, Cuarto

Por ejemplo para ver la fecha de hoy en el siguiente formato

Viernes, 7 de marzo de 2014

Da la siguiente sentencia

select to_char(sysdate,’Day, ddth Month, yyyy’) «Today» from dual;

TODAY
————————
Viernes, 7 de marzo de 2014

Por ejemplo, quieres ver las fechas de contratación de todos los empleados con el siguiente formato

Viernes, 8 de agosto de 2003

Entonces haz la siguiente consulta.

select to_char(hire_date,’Day, ddth Month, yyyy’) from emp;

TO_DATE Ejemplo

La función To_Date se utiliza para convertir cadenas en valores de fecha. Por ejemplo, quiere ver qué día era el 15 de agosto de 1947. Se utiliza la función to_date para convertir primero la cadena en un valor de fecha y luego pasar este valor a la función to_char para extraer el día.

select to_char(to_date(’15-aug-1947′,’dd-mon-yyyy’),’Day’)
from dual;
TO_CHAR(
——–
Viernes

Para ver cuántos días han pasado desde el 15-agosto-1947 entonces dar la siguiente consulta

select sysdate-to_date(’15-agosto-1947′,’dd-mon-yyyy’) from dual;

Ahora queremos ver qué fecha ocurrirá dentro de 45 días

select sysdate+45 from dual;
SYSDATE
——-
06-JUN-2003

ADD_MONTHS

Para ver qué fecha ocurrirá después de 6 meses a partir de ahora, podemos utilizar la función ADD_MONTHS

Seleccionar ADD_MONTHS(SYSDATE,6) de dual;
ADD_MONTHS
———-
22-OCT-2003

MONTHS_BETWEEN

Para ver cuántos meses han pasado desde una fecha determinada, utilice la función MONTHS_BETWEEN.
Por ejemplo, para ver cuántos meses han pasado desde el 15-agosto-1947, dar la siguiente consulta.

select meses_entre(sysdate,to_date(’15-agosto-1947′))
from dual;
Months
——
616.553

Para eliminar el valor decimal utilice la función truncate

select trunc(months_between(sysdate,to_date(’15-aug-1947′)))
from dual;
Meses
——
616

Último día

Para ver la última fecha del mes de una fecha dada, utiliza la función ÚLTIMO DÍA.

select LAST_DAY(sysdate) from dual;
LAST_DAY
——–
31-AUG-2003

NEXT_DAY

Para ver cuándo será el próximo día de un determinado, utilice la función NEXT_DAY.
Por ejemplo, para ver cuándo llegará el próximo sábado, realice la siguiente consulta

select next_day(sysdate) from dual;
NEXT_DAY
———–
09-AUG-2003

EXTRACT

Una función datetime EXTRACT extrae y devuelve el valor de un campo datetime especificado a partir de una expresión datetime o de valor de intervalo. Cuando se extrae una TIMEZONE_REGION o TIMEZONE_ABBR (abreviatura), el valor devuelto es una cadena que contiene el nombre de la zona horaria apropiada o la abreviatura

La sintaxis de la función EXTRACT es

EXTRACT ( AÑO / MES / SEMANA / DÍA / HORA / MINUTO / HORA DE LA FECHA)
Ejemplo
Lo siguiente demuestra el uso de la función EXTRACT para extraer el año de la fecha actual.
select extract(year from sysdate) from dual;
EXTRACT
——-
2003

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Archivos

  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress