- Funciones del Sistema (Parte I)
- Funciones definidas por el usuario (Parte II)
- Funciones de tabla en línea (Parte III)
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
No hay comentarios.:
Publicar un comentario