Archive for the ‘ Oracle ’ Category

REGEXP_REPLACE extiende la funcionalidad de la función REPLACE mediante la búsqueda de patrones de texto usándo expresiones regulares, las cuales fueron introducidas a partir de ORACLE 10g.

Para reemplazar multiples espacios por uno solo en una cadena de texto en Oracle pueden hacerlo de múltiples maneras:

Noten que en este ejemplo, hay dos espacios previo al asterisco «*».


SELECT REGEXP_REPLACE('Reemplazar multiples  espacios   con    un     solo      espacio       en        ORACLE', '  *', ' ')
FROM dual;
REGEXP_REPLACE('REEMPLAZARMULTIPLESESPACIOSCONUNSOLOESPACIO ----------------------------------------------------------- Reemplazar multiples espacios con un solo espacio en ORACLE

 

Aquí otra manera de hacerlo, esta vez usando Read the rest of this entry

Si son de los que han visto más de un ejemplo de la documentación de SQL y PL/SQL de Oracle, demos o cursos, posiblemente se han encontrado el usuario SCOTT (de password TIGER). Casi todas las bases de datos Oracle se han caracterizado por traer este esquema que es usado para fines educativos, demostraciones, cursos y documentación.

Bruce Scott co-fundador de Oracle

Por si no lo saben, el schema scott / tiger está condenado a desaparecer en las recientes versiones de Oracle, más exáctamente a partir de Oracle 9i. La buena noticia es que pueden crear este esquema cuando gusten, solo deben seguir estos sencillos pasos Read the rest of this entry

Contar las cantidad de filas de una tabla requiere de una sentencia SQL que cuenta la cantidad de filas dado que estas están siendo añadidas / eliminadas constantemente.

Cuando de contar la cantidad de filas de las tablas de un schema se trata, existen varias maneras de hacerlo:

  • La más rápida es usando el campo num_rows de la tabla user_tables. Un inconveniente que tiene este mecanismo es que el campo num_rows conserva la cantidad de filas que contenía la tabla la última vez que se ejecutaron estadísticas sobre la misma utilizando el paquete dbms_stats.
  • La manera más acertada es realizando una sentencia SQL que cuente la cantidad de filas sobre cada tabla. Este mecanismo si bien es el más acertado, también puede constituirse en algunos casos como el más demorado por los costos de base de datos y el consumo de recursos que esto implica. Read the rest of this entry

Cuando de trabajar con fechas en Oracle se trata, se debe tener en cuenta que la aritmética de fechas en Oracle trabaja en función de un día. Aunque podemos trabajar con cualquier fecha, para hacerlo más fácil realizaré la labor con la pseudo-columna SYSDATE. Si bien sabemos, SYSDATE muestra la fecha y hora actual de sistema, sumando 1 (uno) a SYSDATE se aumentará la fecha y hora actual en un día. Se pueden usar fracciones para añadir horas, minutos o segundos a la fecha:


ALTER SESSION SET nls_date_format = 'dd-mm-yyyy hh24:mi:ss';

SELECT sysdate,
       sysdate + 1,
       sysdate + 1/24
FROM dual;
SYSDATE SYSDATE+1 SYSDATE+1/24 ------------------- ------------------- ------------------- 18-02-2010 09:26:44 19-02-2010 09:26:44 18-02-2010 10:26:44 Read the rest of this entry