miércoles, 21 de noviembre de 2012

FUNCIONES ÚTILES EN ORACLE Y MySQL



Por si alguien necesita cambiar entre MySQL y Oracle, aquí están algunas de las funciones más habituales que permiten desde SQL, y la equivalencia entre ambos sistemas:

Funciones de agregación
Las funciones que trabajan sobre un conjunto de datos, como COUNT, SUM,
AVG, MIN y MAX funcionarán en Oracle igual que en MySQL.



Funciones de cadenas
  • Convertir a minúsculas
  • MySQL: LOWER o LCASE
  • Oracle: LOWER: LOWER(nombre)
  • Convertir a mayúsculas
  • MySQL: UPPER o UCASE
  • Oracle: UPPER: UPPER(ciudad)
  • Extraer una subcadena
  • MySQL: Para cualquier posición: MID, SUBSTR o SUBSTRING; desde la izquierda: LEFT; desde la derecha: RIGHT
  • Oracle: SUBSTR: SUBSTR(nombre, 1, 4)
  • Ver si una cadena contiene a otra, y en qué posición
  • MySQL: INSTR o LOCATE
  • Oracle: INSTR: INSTR(nombre, 'Juan')
  • Eliminar espacios iniciales o finales
  • MySQL: RTRIM para la derecha, LTRIM a la izquierda, TRIM en ambos lados
  • Oracle: RTRIM, LTRIM, TRIM: TRIM(direccion)
  • Reemplazar parte de una cadena por otra
  • MySQL: REPLACE
  • Oracle: REPLACE: REPLACE(nombre, 'D.', 'Don')
  • Longitud de la cadena
  • MySQL: LENGTH
  • Oracle: LENGTH: LENGTH(nombre)
  • Formar una cadena a partir de varias
  • MySQL: CONCAT, para dos o más subcadenas
  • Oracle: CONCAT, para dos subcadenas: CONCAT(apellidos, nombre); doble barra para concatenar varias: apellido || ', ' || nombre
Funciones avanzadas
  • Esquivar valores nulos
  • MySQL: IFNULL: IFNULL(direccion, 'No disponible')
  • Oracle: NVL: NVL(direccion, 'No disponible')
  • Comprobar condiciones
  • MySQL: CASE: SELECT CASE tipoCliente WHEN 'p' THEN 'Propio' WHEN 'a' THEN 'Ajeno' ELSE 'Desconocido'; IF: SELECT IF(tipoCliente='p', 'Propio', 'Ajeno')
  • Oracle: DECODE: SELECT DECODE (tipoCliente, 'p','Propio', 'a','Ajeno', 'Desconocido' FROM CLIENTE

No hay comentarios:

Publicar un comentario