Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-05-08 GMT+08:00

Funciones

Esta sección describe las funciones integradas y los paquetes de funciones avanzadas añadidos a RDS for PostgreSQL Enhanced Edition sobre la base de la edición de código abierto de PostgreSQL 11.

Tabla 1 Funciones integradas

Funciones integradas

Descripción

add_months(date,integer)

Devuelve la fecha más los meses enteros. El tipo de retorno es DATE.

appendchildxml(XMLType_instance, XPath_string, value_expr[, namespace_string])

Agrega el nodo expr_valor a XPath_string especificado por XMLType_instance. El namespace_string proporciona información de espacio de nombres para la XPath_string.

asciistr(string)

Devuelve una versión ASCII de la cadena en el conjunto de caracteres de la base de datos. No se admiten caracteres que no sean ASCII.

bin_to_num(expr_list)

Convierte una cadena binaria en expr_list a su número decimal equivalente. El tipo de retorno es NUMBER.

bitand(number1,number2)

Devuelve el bit 'AND' para dos números enteros suministrados número1 y número2. El tipo de retorno es BIT.

convert(char, dest_char_set[, source_char_set])

Convierte char en el source_char_set al formato de codificación dest_char_set. Esta función solo tiene efecto en el servidor.

cosh(n)

Devuelve el coseno hiperbólico del argument n.

decode(expr,search1, result1[[,search2, result2],......][, default])

Compara expr con cada valor de búsqueda (search1, search2, etc). Si expr es igual a una búsqueda, Oracle Database devuelve el resultado correspondiente. Si no se encuentra ninguna coincidencia, Oracle devuelve el valor predeterminado. Si se omite el valor predeterminado, Oracle devuelve null.

empty_blob()

Devuelve un BLOB vacío.

hextoraw(char)

Convierte una cadena hexadecimal en un valor sin procesar.

instrb(string, substring[, position[, occurrence]])

Busca una subcadena en una cadena con caracteres y devuelve la posición en la cadena que es el primer carácter de una ocurrencia especificada de la subcadena. Las funciones varían en cómo determinan la posición de la subcadena a devolver.

last_day(date)

Devuelve la fecha del último día del mes que contiene fecha.

lengthb(char)

Devuelve la longitud de char. Char puede ser cualquiera de los tipos de datos (CHAR, VARCHAR2, NCHAR o NVARCHAR2), o tipos (como el entero) que se pueden convertir implícitamente en cadenas de caracteres.

listagg(measure_expr[, 'delimiter']) within group(order_by_clause) [over query_partition_clause]

Ordena los valores de measure_expr de la columna de expresión en el grupo de query_partition_clause de acuerdo con la regla de order_by_clause y los agrega en una fila. Los valores están separados por delimitador.

lnnvl(condition)

Devuelve un valor de la expresión de condición. El tipo de devolución es BOOLEAN.

mod(n2, n1)

Devuelve el resto de n2 dividido por n1. Devuelve n2 si n1 es 0.

months_between(date1, date2)

Devuelve el número de meses entre las fechas date1 y date2. Si date1 es anterior a date2, entonces el resultado es negativo.

nanvl(n2, n1)

Devuelve n1 si el valor de entrada de número de coma flotante de precisión simple o doble n2 es NAN. Si el valor de entrada n2 no es NAN, se devuelve n2.

nchr(number)

Devuelve el carácter que tiene el equivalente binario al número en el conjunto de caracteres nacional.

new_time(date, timezone1, timezone2)

Devuelve la fecha y la hora en la zona horaria timezone2 cuando la fecha y la hora en la zona horaria timezone1 son la fecha. El tipo de retorno es DATE.

next_day(date, char)

Devuelve la fecha del primer día de la semana nombrado por char que es posterior a la fecha (incluidos los días laborables, los fines de semana y los días festivos). El tipo de retorno es DATE.

numtodsinterval(n, interval_unit)

Convierte n en un literal de INTERVAL DAY TO SECOND. El valor de interval_unit especifica la unidad de n y debe resolverse en 'DAY', 'HOUR', 'MINUTE' y 'SECOND'.

numtoyminterval(n, 'interval_unit')

Convierte n en un literal INTERVAL YEAR TO MONTH. El valor de interval_unit puede ser YEAR o MONTH.

nlssort(char[, nlsparam])

Ordena la cadena de caracteres según el conjunto de caracteres de ordenación especificado por nlsparam. Por defecto, char se utiliza para ordenar.

nls_upper(char[, nlsparam])

Convierte todos los caracteres alfabéticos de la cadena de caracteres char en letras mayúsculas según la secuencia de ordenación especificada por nlsparam. El tipo de cadena de caracteres es CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, o NCLOB, y nlsparam tiene la forma de NLS_SORT = sort.

nls_lower(char[, nlsparam])

Convierte todos los caracteres alfabéticos de la cadena de caracteres char en letras minúsculas según la secuencia de ordenación especificada por nlsparam. El tipo de cadena de caracteres es CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, o NCLOB, y nlsparam tiene la forma de NLS_SORT = sort.

nvl(expr1, expr2)

Devuelve el primer valor no nulo de expr1 y expr2.

rawtohex(raw)

Convierte raw en un valor de carácter que contiene su representación hexadecimal.

regexp_count(source_char, pattern, position, match_param)

Devuelve el número de veces que aparece un pattern en una cadena de origen a partir de la position que indica el carácter source_char donde comienza la búsqueda la base de datos. El parámetro match_param es un texto literal que le permite cambiar el comportamiento de coincidencia predeterminado de la función. Por ejemplo, match_param='i' especifica la coincidencia insensible a mayúsculas y minúsculas.

regexp_instr(source_char, pattern[, position[, occurrence[, return_opt[, match_param[, subexpr]]]]])

Extiende la función INSTR y permite la coincidencia de expresiones regulares. El tipo de retorno es INTEGER.

  • position: indica la posición inicial de la búsqueda.
  • occurrence: indica el número de secuencia de pattern en source_char.
  • return_opt:
    • El valor 0 indica la posición de inicio del modo de retorno.
    • El valor 1 indica la posición final del modo de retorno.
  • match_param: indica el parámetro de control de la expresión regular, como la diferencia entre mayúsculas y minúsculas.
  • subexpr: indica el número de grupo del grupo de expresión regular.

regexp_like(source_char, pattern[,match_param])

source_char es una expresión de carácter. Pattern es la expresión regular. El parámetro match_param es un texto literal que le permite cambiar el comportamiento de coincidencia predeterminado de la función.

regexp_substr(source_char, pattern[,position[,occurrence[,match_param[,subexpr]]]])

Coincide con la cadena de caracteres de la cadena source_char en función de la expresión regular.

  • source_char es la expresión de texto que se busca. Admite todas las cadenas de caracteres, incluidos CHAR, VARCHAR2, NCHAR, o NVARCHAR2, o tipos (como el entero) que se pueden convertir implícitamente en cadenas de caracteres.
  • pattern es la expresión de texto a buscar.
  • position es un entero distinto de cero que indica el carácter de source_char donde la función comienza la búsqueda.
  • ocurrence es un número entero que indica qué ocurrencia del pattern debe buscar la función.
  • match_parameter es una expresión de texto que le permite cambiar el comportamiento de coincidencia predeterminado de la función.
  • subexpr es un entero no negativo de 0 a 9 que indica qué subexpresión en el pattern debe ser devuelta por la función.

raise_application_error(errnum, errmsg)

Envía el código de error errnum y el mensaje de error errmsg al cliente.

remainder(n2, n1)

Devuelve el resto de n2 dividido por n1. La función restante es similar a mod, excepto que mod usa floor en su fórmula, mientras que el recordatorio usa ROUND. El tipo de retorno es NUMERIC o número de coma flotante de doble precisión (determinado por el tipo de parámetro de entrada).

round(n,precision)

Devuelve n redondeado a lugares enteros a la derecha del punto decimal. La precisión es el número de dígitos en un número.

scn_to_timestamp(number)

Devuelve la marca de tiempo aproximada asociada a un número de cambio del sistema (SCN).

sinh(n)

Devuelve el seno hiperbólico de n. Si n es BINARY_FLOAT, el tipo de retorno es BINARY_DOUBLE. De lo contrario, el tipo de retorno es NUMERIC.

substr(char,position[,substring_length])

Devuelve una porción de cadena que comienza en una posición especificada en la cadena. Las funciones varían en cómo calculan la longitud de la subcadena a devolver. Si no se especifica substring_length, la función devuelve todos los caracteres al final de la cadena.

substrb(char, position[, substring_length])

Devuelve una parte de char que comienza en una posición especificada en la cadena. Las funciones varían en cómo calculan la longitud de la subcadena a devolver. Si no se especifica substring_length, la función devuelve todos los caracteres al final de la cadena.

sys_context(namespace, parameter)

Devuelve el valor del parámetro asociado al espacio de nombres de contexto. El tipo de retorno es VARCHAR2.

sys_guid()

Devuelve un identificador único global (valor RAW).

sys_connect_by_path(column, char)

Solo es válido en consultas CONNECT BY y devuelve la ruta de un valor de columna desde la raíz al nodo.

tanh(n)

Devuelve la tangente hiperbólica del argumento n.

to_blob(char)

Convierte cadenas de caracteres en valores BLOB. Char puede ser cualquiera de los tipos de datos (CHAR, VARCHAR2, NCHAR o NVARCHAR2), o tipos (como el entero) que se pueden convertir implícitamente en cadenas de caracteres.

to_binary_float(expr)

Convierte expr en el tipo flotante de precisión única.

to_binary_double(expr)

Convierte expr en el tipo flotante de doble precisión.

to_clob(char)

Convierte char en el tipo de datos CLOB.

to_char(char)

Admite tipos de caracteres: char, character, y varchar.

to_date(char[,fmt])

Convierte char del tipo de datos CHAR, VARCHAR2, NCHAR, NVARCHAR2, o TIMESTAMP en un valor del tipo de datos DATE según el formato fmt. Si se omite fmt, char debe usar el formato predeterminado del tipo de datos DATE.

to_dsinterval('sql_format' | 'ds_iso_format')

Convierte la cadena de caracteres de hora del estándar SQL (como '100 00:00:00') o el estándar ISO (como 'P100DT05H') en el tipo de datos INTERVAL DAY TO SECOND.

to_multi_byte(char)

Convierte un carácter de un solo byte en un carácter de varios bytes.

to_number(expr)

Convierte expr en un valor del tipo de datos NUMBER.

to_number(expr, fmt, 'nlsparam')

Convierte expr en un valor del tipo de datos NUMBER en el formato especificado por fmt. El nlsparam es un parámetro de idioma internacional y admite los siguientes parámetros: NLS_NUMERIC_CHARACTERS, NLS_CURRENCY, y NLS_ISO_CURRENCY.

to_timestamp(char[,fmt])

Convierte char del tipo de datos CHAR, VARCHAR2, NCHAR, NVARCHAR2, o TIMESTAMP en un valor del tipo de datos de marca de tiempo de acuerdo con el formato fmt. Si se omite fmt, char debe usar el formato predeterminado del tipo de datos TIMESTAMP.

to_single_byte(char)

Convierte caracteres de multibyte en sus correspondientes caracteres de un solo byte.

to_yminterval('sql_format' | 'ym_iso_format')

Convierte la cadena de caracteres de tiempo del estándar SQL (como '01-02') o el estándar ISO (como 'P1Y2M') en el tipo de datos INTERVAL MONTH TO YEAR.

timestamp_to_scn(timestamp)

Devuelve el número aproximado de cambio del sistema (SCN) asociado a una marca de tiempo.

trunc(date[, fmt])

Trunca la fecha según el formato de fecha especificado por fmt. El tipo de retorno es DATE. Si se omite fmt, el formato de fecha predeterminado es 'DDD'.

tz_offset({time_zone_name | '{+|-}hh:mi'})

Devuelve el desplazamiento de zona horaria especificado. El tipo de retorno es VARCHAR2. El parámetro es una cadena de caracteres en el formato time_zone_name o '{+|-}hh:mi'.

value(correlation_variable)

Devuelve la fila registrada asociada a la correlation_variable en el modo de tabla de objetos. El tipo de retorno es la tabla de objetos asociada a correlation_variable.

Tabla 2 Advanced function packages

Advanced Function Package

Descripción

DBMS_OUTPUT.PUT(item)

Coloca la cadena de elemento en el búfer local. Item indica todos los tipos que se pueden convertir en cadenas de caracteres.

DBMS_OUTPUT.PUT_LINE(item)

Coloca la cadena de elemento en el búfer local y genera todo el contenido del búfer local. Item indica todos los tipos que se pueden convertir en cadenas de caracteres.

DBMS_RANDOM.SEED(val)

Val es el número de semilla usado para generar un número aleatorio. Puede ser una cadena de caracteres o un dígito.

DBMS_RANDOM.VALUE([low,high])

Devuelve un número aleatorio de 16 dígitos entre bajo y alto. Si no se especifica el rango de bajo y alto, el rango de valores predeterminado es 0-1.

dbms_lob.getlength(lob_loc {clob|blob})

Devuelve la longitud de LOB especificada por lob_loc.

dbms_lob.read(lob_loc, amount, offset, buffer)

Devuelve la cantidad especificada en el parámetro de búfer, a partir de un desplazamiento absoluto desde el principio del LOB.

dbms_lob.write(lob_loc, amount, offset, buffer)

Escribe el contenido del búfer en el búfer lob_loc de objeto grande (el objeto grande al que se hace referencia no se ve afectado) comenzando en el desplazamiento. La cantidad representa el tamaño.

utl_raw.cast_to_raw(char)

Convierte char del tipo de datos VARCHAR2 en RAW. El tipo de retorno es RAW.

utl_raw.length(raw)

Devuelve la longitud del tipo de datos de raw. El tipo de retorno es NUMBER.

utl_raw.cast_from_binary_integer(n, endianess)

Convierte el entero n al tipo RAW según el modo de alineación de memoria especificado por endianess. Los valores de endianess son los siguientes:

  • 1: big_endian
  • 2: little_endian
  • 3: machine_endian