UUID_TO_CHAR()

1 comentario

Descripción: Convierte un UUID de 16 bytes a su descripción de 36 caracteres ASCII, legible por humanos.

Tipo de resultado: Char(36)

Sintaxis:

UUID_TO_CHAR(uuid)

uuid = una cadena alfanumérica de 16 caracteres que ocupan un byte cada caracter

Ejemplos:

SELECT
   UUID_TO_CHAR(x'876C45F4569B320DBCB4735AC3509E5F')
FROM
   RDB$DATABASE

SELECT
   UUID_TO_CHAR(GEN_UUID())
FROM
   RDB$DATABASE

SELECT
   UUID_TO_CHAR('Firebird swings!')
FROM
   RDB$DATABASE

El primer SELECT devolverá: ‘876C45F4-569B-320D-BCB4-735AC3509E5F’

El segundo SELECT devolverá: ‘680D946B-45FF-DB4E-B103-BB5711529B86’

El tercer SELECT devolverá: ‘46697265-6269-7264-2073-77696E677321’

Nota:

Recuerda que el argumendo uuid debe tener 16 caracteres, ni más ni menos.

.

Anuncios

UPPER()

6 comentarios

Descripción: Devuelve la cadena alfanumérica de su argumento toda en mayúsculas. Soporta BLOBs de texto de cualquier longitud y conjunto de caracteres.

Tipo de resultado: (Var)Char o BLOB

Sintaxis:

UPPER(cadena_alfanumérica)

Ejemplo:

SELECT
   UPPER('Napoleón')
FROM
   RDB$DATABASE

Este SELECT devolverá la palabra ‘NAPOLEÓN’ o sea que convierte la palabra que recibió como argumento toda a mayúsculas.

.

 

TRUNC()

1 comentario

Descripción: Devuelve la parte entera de un número. Con el argumento opcional escala, el número puede ser truncado a múltiplos de potencias de diez (decenas, centenas, etc., en lugar de solamente a enteros).

Tipo de resultado: Integer, (escalado) Bigint o Doble precisión

Sintaxis:

TRUNC(<número> [, escala])

número = cualquier expresión numérica

escala = un entero especificando la cantidad de lugares decimales que deben ser truncados, por ejemplo:

2 para truncar a un múltiplo de 0.01

1 para truncar a un múltiplo de 0.1

0 para truncar a un número entero

-1 para truncar a un múltiplo de 10

-2 para truncar a un múltiplo de 100

Notas:

  • Si la escala es especificada, el resultado generalmente tiene la misma escala que el primer argumento, ejemplos:
    • TRUNC(789.2225, 2) devolverá 789.2200 (no 789.22)
    • TRUNC(345.4, -2) devolverá 300.0 (no 300)
    • TRUNC(-163.41, 0) devolverá -163.00 (no -163)
  • Si no se especifica la escala entonces se considera que es cero, ejemplo:
    • TRUNC(-163.41) devolverá -163

 

TRIM()

1 comentario

Descripción: Elimina los espacios que están a la izquierda o a la derecha de una cadena alfanumérica (opcionalmente, otros caracteres también pueden ser eliminados). Soporta BLOBs de texto de cualquier longitud.

Tipo de resultado: Varchar o BLOB

Sintaxis:

TRIM([<ajuste>] cadena_alfanumérica)

<ajuste> = {[donde] [que] } FROM

donde = BOTH | LEADING | TRAILING       — por defecto es BOTH (significa “ambos”)

          que      = La subcadena a ser eliminada (repetidamente si fuera necesario) desde el inicio de la cadena_alfanumérica (si BOTH o LEADING fueron especificados) o desde el final de la cadena_alfanumérica (si BOTH o TRAILING fueron especificados), por defecto es ‘ ‘ (espacio en blanco)

Ejemplos:

SELECT
   TRIM('    No desperdicies espacio      ')
FROM
   RDB$DATABASE

SELECT
   TRIM(LEADING FROM '    No desperdicies espacio      ')
FROM
   RDB$DATABASE

SELECT
   TRIM(LEADING '.' FROM '    No desperdicies espacio      ')
FROM
   RDB$DATABASE

SELECT
   TRIM(LEADING '!' FROM '    No desperdicies espacio!!!!!!!!!!!!!!!!      ')
FROM
   RDB$DATABASE

El primer SELECT devolverá ‘No desperdicies espacio’

El segundo SELECT devolverá ‘No desperdicies espacio      ‘

El tercer SELECT devolverá ‘    No desperdicies espacio      ‘

El cuarto SELECT devolverá ‘    No desperdicies espacio      ‘

Notas:

  • Si cadena_alfanumérica es un BLOB, el resultado será un BLOB. En los demás casos será un Varchar.
  • La subcadena a ser eliminada (si fue especificada) no puede tener más de 32767 bytes. Sin embargo, si esta subcadena está repetida al principio o al final de la cadena_alfanumérica, la cantidad total de bytes eliminados puede ser mucho más grande.

 

TANH()

1 comentario

Descripción: Devuelve la tangente hiperbólica de su argumento

Tipo de resultado: Doble precisión

Sintaxis:

TANH(número)

Debido al redondeo, cualquier resultado que no sea NULL estará en el rango de -1..1

Ejemplo:

SELECT
   TANH(2)
FROM
   RDB$DATABASE

TAN()

1 comentario

Descripción: Devuelve la tangente de un ángulo. El ángulo debe ser dado en radianes.

Tipo de resultado: Doble precisión

Sintaxis:

TAN(ángulo)

Ejemplo:

SELECT
   TAN(0.5)
FROM
   RDB$DATABASE

SUBSTRING()

9 comentarios

Descripción: Devuelve una subcadena de una cadena alfanumérica, empezando en la posición dada y terminando en la longitud dada o en el final de la cadena alfanumérica.

Tipo de resultado: Varchar o BLOB

Sintaxis:

SUBSTRING(cadena_alfanumérica FROM posición_inicial  [FOR longitud])

Esta función devuelve una subcadena que empieza en posición_inicial (la posición del primer caracter de la cadena es 1) . Sin el argumento FOR, devuelve todos los caracteres restantes de la cadena alfanumérica. Con el argumento FOR devuelve los siguientes longitud caracteres o los caracteres restantes, lo que sea más corto.

Posición_inicial y longitud también pueden ser columnas o fórmulas que devuelvan números enteros

Esta función soporta BLOBs de texto y binarios de cualquier longitud. Si cadena_alfanumérica es un BLOB, el resultado es también un BLOB. En todos los demás casos el resultado es un Varchar.

Si el argumento no es un BLOB, la longitud del resultado siempre es igual a la longitud de cadena_alfanumérica, sin importar ni la posición_inicial ni la longitud. Así, por ejemplo, SUBSTR(‘Napoleón’ FROM 4 FOR 2) devolverá un Varchar(8) porque la palabra ‘Napoleón’ tiene 8 caracteres y ese Varchar contendrá la palabra ‘ol’.

Si cualquiera de los argumentos es NULL, el resultado será NULL.

Ejemplo:

INSERT INTO
   PROCEDENCIAS
   (PRO_CODPAI)
   SELECT
      SUBSTRING(PAI_NOMBRE FROM 1 FOR 3)
   FROM
      PAISES

Este INSERT insertará una fila a la tabla PROCEDENCIAS. La columna PRO_CODPAI (código del país) contendrá los primeros 3 caracteres del nombre del país, obtenidos de la tabla PAISES.

.

Older Entries