Hola a todos, hoy os voy a explicar como usar las funciones TO_CHAR y TO_DATE de Oracle.
En Oracle, es posible que necesitemos hacer una conversión de string a fecha y viceversa. Para ello, usaremos las siguientes funciones:
- TO_CHAR(fecha, formato): Convierte de fecha a cadena
- TO_DATE(cadena, formato): Convierte una cadena a fecha
Podemos usarlo para mostrar o para filtrar.
Vamos a usar estos registros:

Para el tema del formato, podemos usar letras concretas:
| Formato | Descripción | Resultado |
| Y | Último dígito del año |
20 |
| YY | Los 2 últimos dígitos del año |
20 |
| YYY | Los 3 últimos dígitos del año |
020 |
| YYYY | Año usando 4 dígitos |
2020 |
| RR | Año usando 2 dígitos |
20 |
| YEAR | Año escrito en inglés |
TWENTY |
| MM | Mes con 2 dígitos |
03 |
| MON | Abreviatura del mes con 3 letras |
MAR |
| MONTH | Nombre del mes en inglés |
MARCH |
| D | Día de la semana |
3 |
| DD | Día del mes (2 dígitos) |
04 |
| DDD | Día del año | 64 |
| DY | Abreviatura del nombre del día de 3 letras |
WED |
| DAY | Nombre del día en inglés |
WEDNESDAY |
| W | Semana del mes | 1 |
| WW | Semana del año | 10 |
| Q | Cuarto del año | 1 |
| CC | Siglo | 21 |
| SCC | Igual que CC pero añade «-» si la fecha es antes de Cristo |
-3 |
| SYYYY | Igual que YYYY pero añade «-» si la fecha es antes de Cristo |
-734 |
| SYEAR | Igual que YEAR pero añade «-» si la fecha es antes de Cristo |
-THIRTY THREE |
| BC, AD, B.C. , A.D. |
Añade BC o AD | AD |
| J | Número de días desde el 31 de diciembre de 4713 a. C. |
2458914 |
| IW | Semana según el estándar ISO |
10 |
| RM | Mes en números romanos |
III |
| AM, PM, A.M. , P.M. |
Indicador de meridiano |
PM |
| HH | Hora del día | 06 |
| HH12 | Hora del día 1-12 |
06 |
| HH24 | Hora del día 0-23 |
18 |
| MI | Minuto 0-59 | 34 |
| SS | Segundo 0-59 | 45 |
| SSSSS | Segundos desde la media noche 0-86399 |
32098 |
| /.,?#! | Signos de puntuación, por ejemplo: ‘MM.YY’ |
03.20 |
| «literales» | Por ejemplo, ‘«Semana» W «de» Month’ |
Semana 1 de March |
| TH | DDth | 12TH |
| SP | Transcripción de números, por ejemplo: MM |
Nine |
| THSP or SPTH | Transcripción posicional o numérica, por ejemplo: ‘hh24Spth’ |
Fourtheenth |
Veamos algunos ejemplos de TO_CHAR:
|
1 2 3 |
SELECT * FROM resenias WHERE TO_CHAR(fecha, 'YYYY-MM-DD') < '2019-01-20'; |

|
1 2 |
SELECT descripcion, TO_CHAR(fecha, 'YYYY-MM-DD') as fecha FROM resenias |

Veamos un ejemplo de TO_DATE:
|
1 2 3 |
SELECT * FROM resenias WHERE fecha < to_date('2019-01-20', 'YYYY-MM-DD'); |

¿Quieres saber mas de SQL en Oracle? Tengo un curso en udemy con muchos ejercicios prácticos.
[ufwp id=»2402542″]Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta