lunes, 22 de febrero de 2016

Funciones en SQL Server PARTE I

Buenos días queridos lectores, feliz lunes 22 de febrero, el día de hoy les escribiré este post relacionado con las funciones en SQL SERVER, en esta primera parte, veremos las funciones añadidas en el motor de Base de Datos, es decir, incluidas en SQL, y en la parte II aprenderemos a crear nuestras propias funciones, tal cual lo haríamos en cualquier lenguaje de programación. Pues bien empecemos.

Funciones

La solución a problemas complejos se facilita si se dividen en porciones de código llamado script, éstas permiten al programador de Transact SQL dividir en unidades de programas o módulos que están diseñadas para una tarea específica, la ventaja de ésto es que solo se escribirá una vez, pero pueden ser invocadas desde cualquier módulo de consulta ya que éstas funciones se crean dentro de una base de datos y se quedan registradas en él
Hasta el momento ya hemos usado varias funciones, éstas tenían por misión devolver algún valor o ejecutar alguna acción como por ejemplo GETDATE() en las fechas o @@FECTH_STATUS visto en la implementación de cursores y así nos encontramos con muchas funciones pre-establecidas. Entonces podemos llegar a la siguiente clasificación:
  • Funciones del sistema
  • Funciones definidas por el usuario
    • Funciones Escalares
    • Funciones de Tabla
    • Funciones d eTabla Online

Funciones del sistema

SQL Server cuenta con una infinita variedad de funciones dependiendo de los valores, objetos o configuraciones que se desea realizar.

Funciones de conjuntos de filas: Devuelven un objeto que se puede utilizar como las referencias de tabla en una instrucción SQL

  • OPENDATASOURCE
  • OPENROWSET
  • OPENQUERY
  • OPENXML

Funciones de agregado: Operan sobre una colección de valores y devuelven un solo valor de resumen.

  • AVG
  • MIN
  • CHECKSUM_AGG
  • SUM
  • COUNT
  • STDEV
  • COUNT_BIG
  • STDEVP
  • GROUPING
  • VAR
  • GROUPING_ID
  • VARP
  • MAX

Funciones de categoría: Devuelven un valor de categoría para cada fila de una partición.

  • RANK
  • NTILE
  • DENSE_RANK
  • ROW_NUMBER

Funciones escalares: Operan sobre un valor y después devuelven otro valor. Las funciones escalares se pueden utilizar donde la expresión sea válida.

Funciones de configuración: Devuelven información acerca de la configuración actual

  • @@DATEFIRST
  • @@OPTIONS
  • @@DBTS
  • @@REMSERVER
  • @@LANGID
  • @@SERVERNAME
  • @@LANGUAGE
  • @@SERVICENAME
  • @@LOCK_TIMEOUT
  • @@SPID
  • @@MAX_CONECTIONS
  • @@TEXTSIZE
  • @@MAX_PRECISION
  • @@VERSION
  • @@NESTLEVEL

Funciones de conversión: Conversión de tipo de datos.

  • CAST Y CONVERT
  • PARSE
  • TRY_CAST
  • TRY_COVERT
  • TRY_PARSE

Funciones de cursor: Devuelven información acerca de los cursores

  • @@CURSOR_ROWS
  • @@CURSOR_STATUS
  • @@FETCH_STATUS

Tipos de datos y funciones de fecha y hora: Llevan a cabo operaciones sobre un valor de entrada de fecha y hora y devuelven un valor numérico, de cadena o de fecha y hora

  • SYSDATETIME
  • SYSDATETIMEOFFSET
  • SYSUTCDATETIME
  • CURRENT_TIMESTAMP
  • GETDATE
  • GETUTCDATE
  • DATENAME
  • DATEPART
  • DATE
  • MONTH
  • YEAR
  • DATEDIFF
  • DATEADD
  • EOMONTH
  • SWITCHOFFSET
  • TODATETIMEOFFSET
  • @@DATEFIRST
  • SET DATEFIRST
  • SET DATEFORMAT
  • @@LANGUAGE
  • SET LANGUAGE
  • SP_HELPPANGUAGE
  • ISDATE

Funciones Lógicas: Realizan operaciones lógicas

  • CHOOSE
  • IIF

Funciones matemáticas: Realizan cálculos basados en valores de entrada proporcionados como parámetros a las funciones y devuelven valores numéricos.

  • ABS
  • DEGREES
  • RAND
  • ACOS
  • EXP
  • ROUND
  • ASIN
  • FLOOR
  • SIGN
  • ATAN
  • LOG
  • SIN
  • ATN2
  • LOG10
  • SQRT
  • CEILLING
  • PI
  • SQUARE
  • COS
  • POWER
  • TAN
  • COT
  • RADIANS

Funciones de metadatos: Devuelven información acerca de la base de datos y los objetos de la misma.

  • @@PROCID
  • INDEX_COL
  • APP_NAME
  • INDEXKEY_PROPERTY
  • APPLOCK_MODE
  • INDEXPROPERTY
  • APPLOCK_TEST
  • NEXT VALUE FOR
  • ASSEMBLPROPERTY
  • OBJECT_DEFINITION
  • COL_LENGTH
  • OBJECT_ID
  • COL_NAME
  • OBJECT_NAME
  • COLUMNPROPERTY
  • OBJECT_SCHEMA_NAME
  • DATABASE_PRINCIPAL_ID
  • OBJECTPROPERTY
  • DATABASEPROPERTYEX
  • OBJECTPROPERTYEX
  • DB_ID
  • ORIGINAL_DB_NAME
  • DB_NAME
  • PARSENAME
  • FILE_ID
  • SCHEMA_ID
  • FILE_IDX
  • SCHEMA_NAME
  • FILE_NAME
  • SCOPE_IDENTITY
  • FILEGROUP_NAME
  • STATS_DATE
  • FILEGROUPPROPERTY
  • TYPE_ID
  • FILEPROPERTY
  • TYPE_NAME
  • FULLTEXTCATALLOGPROPERTY
  • TYPEPROPERTY
  • FULLTEXTSERVICEPROPERTY

Funciones de seguridad: Devuelven información acerca de usuarios y roles.

  • CERTENCODED
  • PWDCOMPARE
  • CERTPRIVATEKEY
  • PWDENCRYPT
  • CURRENT_USER
  • SCHEMA_ID
  • DATABASE_PRINCIPAL_ID
  • SCHEMA_NAME
  • sys.fn_builtin_permissions
  • SESSION_USER
  • sys.fn_get_audit_file
  • SUSER_ID
  • HAS_PERMS_BY_NAME
  • SUSER_SNAME
  • IS_MEMBER
  • SYSTEM_USER
  • IS_ROLEMEMBER
  • SUSER_NAME
  • IS_SRVROLEMEMBER
  • USER_ID
  • ORIGINAL_LOGIN
  • USER_NAME
  • PERMISSIONS

Funciones de cadena: Realizan operaciones en el valor de entrada de una cadena (char o varchar) y devuelven una cadena o un valor numerico.

  • ASCII
  • LTRIM
  • SOUNDEX
  • CHAR
  • NCHAR
  • SPACE
  • CHARINDEX
  • PARTINDEX
  • STR
  • CONCAT
  • QUOTENAME
  • STUFF
  • DIFERENCE
  • REPLACE
  • SUBSTRING
  • FORMAT
  • REPLICATE
  • UNICODE
  • LEFT
  • REVERSE
  • UPPER
  • LEN
  • RIGHT
  • LOWER
  • RTRIM

Funciones del sistema: Realizan operaciones y devuelven información acerca de valores, objetos y configuraciones de una instancia de SQL Server.


Funciones estadísticas: Devuelven información estadística acerca del sistema

@@CONNECTIONS
@@PACK_RECIVED
@@CPU_BUSSY
@@PACK_SENT
@@fn_virtualfilestats
@@TIMETICKS
@@IDLE
@@TOTAL_ERRORS
@@IO_BUSY
@@TOTAL_READ
@@PACKET_ERRORS
@@TOTAL_WRITE

Funciones de texto e imágen

  • PATINDEX
  • TEXTVALID
  • TEXTPTR
Hasta aquí queridos lectores es el post de las funciones que vienen digamos, precargadas en el sistema, el próximo post será sobre las funciones creadas por el usuario, es decir, por nosotros mismos, que también podemos crear nuestras propias funciones.

Espero que haya sido de utilidad y agrado, les sirve, también espero comenten, compartan, den +1 o algún clic en un anuncio que les interese. Gracias y un abrazo

Banderas de Visitantes

Flag Counter