29/2/16

Funciones básicas de Teradata


Si ya has trabajado con oracle, pl/sql o algñun lenguaje base de datos parecida, te puedes defender más o menos en teradata. En este apartado vamos a ir viendo algunas funciones de Teradata que se diferencian de Oracle, pl/sql ...

Para realizar una consulta sobre una o varias tablas y evitar bloqueos en la misma, usaremos la siguiente sentencia:

- LOCKING ROWFOR ACCESS MODE NOWAIT Select * from tabla;

Por ejemplo el clásico NVL de oracle no existe como tal, pero tenemos la siguiente función:

La función que puede ser más semejante al NVL en teradata es la siguiente:
select COALESCE(null,1);
select COALESCE(3,1);

El primero caso retornaría un 1 y en elsegundo caso un 3.

Otra función que podemos destacar es:

- SELECT ZEROIFNULL(VAR);


Si queremos recuperar en una consulta un número concreto de registros, de esta forma recuperaríamos 100 registros solamente:

- SELECT top 100 * from tabla;



A la hora de trabajar en teradata con las fechas hay que tener mucho cuidado.

Un ejemplo para almacenar una fecha como decimal (o parte de una fecha):
extract(year from v_fecha) * 10000 + extract(month from v_fecha) * 100 + extract(day from v_fecha)

Es igual que hacer esta conversión:
 cast(v_fecha as int) + 19000000

A veces esto puede ser muy útil ya que el decimal ocupa menos espacio en base de datos que el varchar.

Iremos introduciendo poco a poco algunas funcionalidades de teradata.

Un saludo, muchas gracias

No hay comentarios :

Publicar un comentario