1. Dada la cadena “hola mundo ” obtener la cadena “hola mundo” (eliminación de espacios)

select rtrim('hola mundo ');
select trim(both from ' hola mundo    ');
select trim(both 'x' from 'xxxhola mundoxxxx');

2. Obtener un número randómico entre 100 y 1000.

select random()*900+100;

3. Dada la cadena “Cra 18 calle 118 -250” encontrar la posición donde ocurre la subcadena “calle”

select strpos('Cra 18 calle 118 -250','calle');

4. Convertir la cadena “juan perez” en “Juan Perez” (iniciales en mayúscula)

select initcap('juan perez');

4. Dado un número calcular su factorial

select factorial(4);

5. Ajustar la cadena “3500” para que ocupe 10 posiciones (caracteres) rellanando con ceros al inicio.

select lpad('3500',10,'0');

6. Convertir la cadena “3218200” (un teléfono) para que ocupe 10 posiciones terminadas en “*” (“3218200***”)

select rpad('3218200',10,'*');

7. Calcular la raíz cuadrada de un número.

select sqrt(4);

8. El query select tablename from pg_tables where schemaname = 'public'; retorna los nombres de las tablas creadas por el usuario. Modificar el anterior query para generar un script de desintalación: drop table XXXX cascade;

select 'drop table ' || tablename || ' cascade;'  from pg_tables where schemaname = 'public';

9. De la cadena”3-21-82-00” remover todos los ”-”

select replace('3-21-82-00','-','');

10. De un teléfono en formato ”+57(2) 3218200” remover los números del código internacional ”+57(2) ”

select substr('+57(2) 3218200',7);
select regexp_replace('+57(2) 3218200', '[+]\d*[(]\d*[)]', '');

11. Calcular el área de un círculo de radio 4.5

 select 2*pi()*pow(4.5,2);

12. Calcular el número de días entre el 1ero de Mayo de 2008 y el 5 de Julio de 2007

select date '2008-05-01' - date '2007-07-05';
select to_date('2008-05-01','yyyy-mm-dd') - to_date('2007-07-05','yyyy-mm-dd');

13. Tengo la fecha de inicio (con su hora) y fecha de finalización de una llamada. Cuanto debo pagar si se cobra a $500 el minuto y se redondea al entero superior ?

 select timestamp '2012-02-05 01:10:20' - timestamp '2012-02-04 23:45:30';
 select 500* CEIL(EXTRACT(EPOCH FROM (timestamp '2012-02-05 02:10:20' - timestamp '2012-02-04 23:45:30'))/60.0) ;
 
solucion.txt · Última modificación: 2012/03/07 14:23 por caolarte
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki