Tabla de Contenidos
Bases de datos Oracle
Operador JOIN (+)
El operador (+) es para realizar OUTER JOIN.
SELECT ... FROM a, b WHERE a.id = b.id(+)
Es lo mismo que:
SELECT ... FROM a LEFT JOIN b ON b.id = a.id
Oracle recomienda no usar la notación (+)
- Oracle "(+)" Operator (Stack Overflow)
Fechas
Extracción
Sacar porción de la fecha:
SELECT EXTRACT(YEAR FROM fecha) AS ano, EXTRACT(MONTH FROM fecha) AS mes, EXTRACT(DAY FROM fecha) AS dia, FROM tabla
trunc(sysdate) coge la fecha y hora actuales y se queda solo con la fecha
SELECT * FROM tabla WHERE fecha < trunc(sysdate) AND fecha >= trunc(sysdate - 3) -- hace 3 días
Texto
Extracción
Si se quiere quedar con cierta parte de un campo. Por ejemplo, si tenemos un campo con valores del tipo Una cosa - Otra cosa y nos queremos quedar con lo que hay después del guión:
SELECT SUBSTR(campo, INSTR(campo, '-') + 2) AS nombre FROM tabla
Condicionales
DECODE
SELECT DECODE(id, '3', 'OK', 'KO') AS resultado FROM tabla WHERE fecha < sysdate
Si id vale 3, entonces devuelve OK. En caso contrario, KO.
Dblinks
Un Database Link (DBLink) en Oracle es un tipo de objeto que permite realizar una conexión desde una base de datos a otra.
Un dblink es un usuario que pertenece a la base de datos de destino, pero que se configura en la de origen ya que es quien realiza la conexión.
Para ver que Dblinks hay en una BD Oracle, lo podemos consultar de la siguiente forma:
SELECT * FROM DBA_DB_LINKS; SELECT * FROM ALL_DB_LINKS; SELECT * FROM USER_DB_LINKS;
