Síguenos en

Facebook
Google Plus

Oracle SQL - Función WEEK_DAY().

SintaxisOracle SQL

 

WEEK_DAY(cadena, [mascara])

 

Propósito

 

La función SQL WEEK_DAY(), desarrollada por Tú Informática Fácil, devuelve el día de la semana de una fecha del argumento  cadena, cadena debe ser una de caracteres de tipo VARCHAR2, opcionalmente se puede pasar como segundo argumento la mascara de la fecha.

 

La función devuelve el día de la semana como un tipo de dato VARCHAR2 y siempre en español, independientemente de cómo estén configuradas las variables NLS.

 

Si se produce un error la función retorna 1 y muestra el código de error y el mensaje asociado.

 

Para cargar la función en vuestro sistema seguir estos sencillos pasos:

 

1 – Descarga el fichero week_day.rar, descomprímelo y guárdalo con el nombre week_day.sql, el fichero contiene la función.

 

 

 

Funcion WEEK_DAY()

Versión: 1.0

Descarga Actualizada: 17-02-2011

Idioma:

 

Descarga la utilidad Winrar para descomprimir

 

2 – Copia el fichero en la maquina donde esta la base de datos Oracle, si estas en entornos Linux/Unix puedes utilizar Filezilla para realizar el ftp al directorio que desees, si estas en entorno Windows ubícalo en el directorio de trabajo que prefieras.

 

3 – Conéctate a la maquina donde esta la base de datos y cámbiate al directorio donde hayas dejado el fichero week_day.sql.

 

4 – Conéctate con SQLPLUS a la base de datos con el usuario que vaya a ser el OWNER de la función, el usuario debería tener estos privilegios, CREATE ANY PROCEDURE, ALTER ANY PROCEDURE, DROP ANY PROCEDURE y EXECUTE ANY PROCEDURE.

 

5 – Desde SQLPLUS ejecuta lo siguiente.

 

SQL> @week_day

Function created.

 

6 – Si necesitas que otros usuarios de la base de datos ejecuten la función tendrán que tener el privilegio EXECUTE ANY PROCEDURE.

 

Ejemplos:

 

Llamada a la función WEEK_DAY() con una fecha en formato cadena.

 

SQL> SELECT WEEK_DAY('31/12/1999') Dia FROM DUAL;

DIA
--------------------------------------------------------------------------------
VIERNES

 

En esta llamada le pasamos también la mascara, en este ejemplo la mascara determina que la fecha esta en día, mes y año.

 

SQL> SELECT WEEK_DAY('02/10/1998', 'MM/DD/YYYY') Dia FROM DUAL;

DIA
--------------------------------------------------------------------------------
MARTES

 

En este otro ejemplo provoco un error, le paso un mes erróneo a la función WEEK_DAY().

 

SQL> SELECT WEEK_DAY('22/10/1998', 'MM/DD/YYYY') Dia FROM DUAL;

DIA
--------------------------------------------------------------------------------
1

-1843 : ORA-01843: not a valid month

 

Con este ejemplo vemos como llamar a la función desde un procedimiento almacenado.

 

SQL> CREATE OR REPLACE procedure demo_fun IS

BEGIN

DBMS_OUTPUT.PUT_LINE('El día de la semana de la fecha 31/12/2000 es -> ' || week_day('31/12/2000'));

END;
/

Procedure created.

SQL> execute demo_fun
El dia de la semana de la fecha 31/12/2000 es -> DOMINGO

PL/SQL procedure successfully completed.

  

Compatibilidad: Oracle 9i, Oracle 10g y Oracle 11g

  

Funcion WEEK_DAY()

Versión: 1.0

Descarga Actualizada: 17-02-2011

Idioma: