sacar el día de una fecha
Buenas,
necesito asignarle a una variable el día de una fecha, a otra el mes y a otra el año, como hago para retorna eso teniendo la fecha como un tipo de dato DATE?, y que me saque cada uno de ellos como un varchar2 o integer?
Gracias
necesito asignarle a una variable el día de una fecha, a otra el mes y a otra el año, como hago para retorna eso teniendo la fecha como un tipo de dato DATE?, y que me saque cada uno de ellos como un varchar2 o integer?
Gracias
Lo puedes hacer con la función TO_CHAR(numero ó fecha,\'formato\')
Esta función convierte un número o fecha en una cadena de caracteres VARCHAR2 con el modelo de formato que le indiques
El formato se debe encerrar entre comillas simples y es casesensitive
El formato puede incluir cualquier elemento de formato de fecha válido.
Separar la fecha del formato con una coma.
Elementos del Modelo Formato de Fecha
\'YYYY\' Año completo en número
\'YEAR\' Año en letras
\'MM\' Nº del mes con dos dígitos
\'MONTH\' Nombre completo del mes
\'DY\' Abreviatura de tres letras del día
\'DAY\' Nombre completo del día
Fíjate que influye la manera en que escribes el formato, es decir, si pones mayuscula o minuscula:
SELECT TO_CHAR(sysdate,\'DAY\')
FROM DUAL;
TO_CHAR(S
---------
JUEVES
SQL> SELECT TO_CHAR(sysdate,\'Day\')
2 FROM DUAL;
TO_CHAR(S
---------
Jueves
Otros ejemplos:
declare
v_fecha varchar2(50);
begin
v_fecha:= to_char(to_date(\'15-05-2003\',\'dd-mm-yy\'),\'Month\');
dbms_output.put_line(v_fecha);
end;
/
Mayo
declare
v_fecha varchar2(50);
begin
v_fecha:= to_char(to_date(\'15-05-2003\',\'dd-mm-yy\'),\'DAY,MONTH\');
dbms_output.put_line(v_fecha);
end;
/
JUEVES,MAYO
Procedimiento PL/SQL terminado correctamente.
Esta función convierte un número o fecha en una cadena de caracteres VARCHAR2 con el modelo de formato que le indiques
El formato se debe encerrar entre comillas simples y es casesensitive
El formato puede incluir cualquier elemento de formato de fecha válido.
Separar la fecha del formato con una coma.
Elementos del Modelo Formato de Fecha
\'YYYY\' Año completo en número
\'YEAR\' Año en letras
\'MM\' Nº del mes con dos dígitos
\'MONTH\' Nombre completo del mes
\'DY\' Abreviatura de tres letras del día
\'DAY\' Nombre completo del día
Fíjate que influye la manera en que escribes el formato, es decir, si pones mayuscula o minuscula:
SELECT TO_CHAR(sysdate,\'DAY\')
FROM DUAL;
TO_CHAR(S
---------
JUEVES
SQL> SELECT TO_CHAR(sysdate,\'Day\')
2 FROM DUAL;
TO_CHAR(S
---------
Jueves
Otros ejemplos:
declare
v_fecha varchar2(50);
begin
v_fecha:= to_char(to_date(\'15-05-2003\',\'dd-mm-yy\'),\'Month\');
dbms_output.put_line(v_fecha);
end;
/
Mayo
declare
v_fecha varchar2(50);
begin
v_fecha:= to_char(to_date(\'15-05-2003\',\'dd-mm-yy\'),\'DAY,MONTH\');
dbms_output.put_line(v_fecha);
end;
/
JUEVES,MAYO
Procedimiento PL/SQL terminado correctamente.
