P. 1
Funciones SQL

Funciones SQL

4.5

|Views: 6.706|Likes:
Publicado porpa_olasuarez7782

More info:

Published by: pa_olasuarez7782 on Mar 18, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

05/29/2013

pdf

text

original

FUNCIONES DE CADENA Las funciones de cadena trabajan con campos char y varchar por lo que los literales que

escribamos se deben encerrar entre comillas simples. Estas funciones que vamos a explicar a continuación pueden manipular cadenas de letras u otros caracteres por lo que las vamos a dividir en dos grupos: Funciones que devuelven caracteres Este tipo de funciones devuelven un carácter o varios caracteres. Función CHR(n) CONCAT(cad1, cad2) UPPER(cad) LOWER(cad) LPAD(cad1,n[,cad2]) INITCAP(cad) LTRIM(cad [,set]) Propósito Nos devuelve el carácter cuyo valor en binario es n Nos devuelve cad1 concatenada con cad2 Convierte cad a mayúsculas Convierte cad a minúsculas Con esta función añadimos caracteres a cad1 por la izquierda hasta una longitud máxima dada por n Convierte la primera letra de cad a mayúscula Elimina un conjunto de caracteres a la izquierda de cad, siendo set el conjunto de caracteres a eliminar Con esta función añadimos caracteres de la misma forma que con la función LPAD pero esta vez los añadimos a la derecha Hace lo mismo que LTRIM pero por la derecha Sustituye un conjunto de caracteres de 0 o más caracteres, devuelve cad con cada ocurrencia de cadena_buscada sustituida por cadena_sustitucion Devuelve la subcadena de cad que abarca desde m hasta el numero de caracteres dados por n. Convierte caracteres de una cadena en

RPAD(cad1, n[,cad2]) RTRIM(cad[,set]) REPLACE(cad,cadena_buscada [,cadena_sustitucion] )

SUBSTR(cad, m[,n]) TRANSLATE(cad1,cad2,cad3)

caracteres diferentes. Devuelve cad1 con los caracteres encontrados en cad2 y sustituidos por los caracteres de cad3 Ponemos algunos ejemplos de utilización de estas funciones: Sentencia sql que nos devuelve las letras cuyo valor el es el 45 y el 23 Sentencia sql que obtiene el nombre de los alumnos sacando por pantalla la siguiente frase: 'el nombre del paciente es' (nombre que está almacenado en la tabla paciente) Sentencia sql que me devuelve los nombres de los alumnos en mayúsculas Sentencia sql que obtiene de un campo nombre, las 3 primeras letras Y asi con el resto de funciones… Funciones que devuelven valores numéricos Estas funciones nos devuelven números a modo de información. Función ASCII(cad) INSTR(cad1, cad2[,comienzo[,m]]) LENGTH(cad) Propósito Devuelve el valor ASCII de la primera letra de cad Función que busca un conjunto de caracteres dentro de una cadena. Nos devuelve la posición de cad2 en cad1 empezando a buscar en comienzo Devuelve en número de caracteres de cad

Como con las funciones anteriores dejamos unos ejemplos para que veas su funcionamiento. Sentencia sql que nos devuelve el valor ASCII de la letra ('s') Sentencia que nos devuelve la posición de la ocurrencia 'pe' dentro de la cadena 'Los perros están bien' a partir de la posición 2 Sentencia sql que nos devuelve el numero de caracteres de los nombres de los alumnos FUNCIONES MATEMATICAS Una función matemática realiza una operación matemática en expresiones numéricas y devuelve el resultado de la operación. Las funciones matemáticas operan sobre datos numéricos suministrados por el sistema

SQL Server: decimal, integer, float, real, money, smallmoney, smallint y tinyint. De manera predeterminada, la precisión de las operaciones integradas para el tipo de datos float es de seis decimales. De forma predeterminada, un número pasado a una función matemática será interpretado como un tipo de datos decimal. Se puede usar las funciones CAST o CONVERT para cambiar el tipo de datos a otro distinto, por ejemplo, float. Por ejemplo, el valor devuelto por la función FLOOR tiene el tipo de datos del valor de entrada. La entrada de la siguiente instrucción SELECT es un decimal. FLOOR devuelve 123. Éste es un valor decimal. Cuando el resultado float o real de una función matemática es demasiado pequeño para mostrarse, se produce un error de desbordamiento negativo de punto flotante. El resultado devuelto será 0,0 y no se mostrará ningún mensaje de error. Por ejemplo, el cálculo matemático de 2 elevado a la potencia -100,0 daría el resultado 0,0. Los errores de dominio se producen cuando el valor proporcionado en la función matemática no es válido. Por ejemplo, los valores especificados para la función ASIN deben ser de -1,00 a 1,00. Si se especifica el valor -2, por ejemplo, se produce un error de dominio. Los errores de intervalo se producen cuando el valor especificado se encuentra fuera de los valores permitidos. Por ejemplo, POWER(10,0, 400) excede el valor máximo (~2e+308) del intervalo para el tipo de datos float y POWER(-10,0, 401) es menor que el valor mínimo (~ -2e+308) del intervalo para el tipo de datos float. En la siguiente tabla se muestran funciones matemáticas que producen un error de dominio o de intervalo. Función matemática SQRT(-1) POWER(10,0, 400) Resultado Error de dominio. Error de desbordamiento aritmético.

POWER(10,0, -400) Valor 0,0 (desbordamiento negativo de punto

flotante). Se proporcionan capturas de error para controlar los errores de dominio o de intervalo de estas funciones. Puede utilizar lo siguiente: • SET ARITHABORT ON. Esta opción termina la consulta y finaliza la transacción definida por el usuario. La configuración de SET ARITHABORT suplanta la configuración de SET ANSI_WARNINGS. • • SET ANSI_WARNINGS ON. Esta opción detiene el comando. SET ARITHIGNORE ON. Esta opción impide la visualización de un mensaje de advertencia. Tanto la configuración de SET

ARITHABORT como de SET ANSI_WARNINGS suplantan la configuración de SET ARITHIGNORE FUNCIONES DE FECHA Dentro de SQL tenemos un tipo de dato denominado DATE. Este campo tiene el siguiente formato predeterminado: 'dd/mm/yy' Este formato lo podemos modificar con la función TO_CHAR de la cual hablaremos más adelante en el siguiente artículo. Cabe señalar que el tipo de dato DATE también almacena la siguiente información en el siguiente orden: Siglo/Año/Mes/Día/Hora/Minutos/Segundos A continuación mostramos una tabla con las funciones para el manejo de fechas en SQL: Función SYSDATE LAS_DAY (fecha) MONTHS_BETWEEN (fecha1, fecha2) Propósito Devuelve la fecha del sistema Devuelve la fecha del último día del mes que contiene fecha Devuelve la diferencia en meses entre la fecha1 y la fecha2

ADD_MONTHS (fecha, n) Devuelve la fecha incrementada en n meses

NEXT_DAY (fecha, cad)

Devuelve la fecha del primer día de la semana indicado por cad después de la fecha indicada por fecha. Cad será siempre un día de la semana escrito con letras, por ejemplo Monday.

Ahora pasamos a poner algún ejemplo práctico para que os hagáis una idea de cómo es. De la primera función no hace falta ya que es bastante sencilla, tan solo tenéis que poner la función y os devuelve la fecha actual del sistema. FUNCIONES DE CONVERSION Use las funciones de conversión CAST y CONVERT para convertir expresiones de un tipo de datos a otro, cuando SQL Server no realice automáticamente las conversiones de tipos de datos. Por ejemplo, si se compara una expresión char con una expresión datetime o una expresión smallint con una expresión int, o expresiones char de distintas longitudes, SQL Server las convierte automáticamente. Esto se denomina conversión implícita. No es necesario utilizar CAST ni CONVERT para estas conversiones implícitas. Sin embargo, se puede utilizar CAST y CONVERT en los escenarios de conversión siguientes: • • Cuando dos expresiones tienen exactamente el mismo tipo de datos. Cuando dos expresiones se pueden convertir de forma implícita.

Cuando es necesario convertir de forma explícita los tipos de datos. Si intenta realizar una conversión que no es posible (por ejemplo, convertir una expresión char que incluya letras a int), SQL Server muestra un mensaje de error. También se pueden utilizar las funciones CAST y CONVERT para obtener diversos formatos de datos especiales, así como en la lista de selección, en la cláusula WHERE y en cualquier parte en donde se permita una expresión.

Si desea que el código de programa de Transact-SQL cumpla el estándar SQL-92, utilice CAST en lugar de CONVERT. Utilice CONVERT en lugar de CAST para aprovechar la funcionalidad de CONVERT. Cuando se utiliza CAST o CONVERT, se necesita la siguiente información: • La expresión que se va a convertir; por ejemplo, un informe de ventas necesitaría que los datos de ventas se convirtieran de datos de moneda a datos de caracteres.

El tipo de datos al que se va a convertir la expresión especificada; por ejemplo, varchar o cualquier otro tipo de datos del sistema de SQL Server.

A menos que guarde el valor convertido, una conversión sólo será válida mientras dure la función CAST o CONVERT. Si no especifica ninguna longitud cuando se convierte al tipo de datos, SQL Server suministra automáticamente la longitud 30.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->