funciones de cadena en postgresql

14
FUNCIONES DE CADENA EN POSTGRESQL JEFERSON CHAYANE PEREZ CÓDIGO: 1094264370 INSTITUTO SUPERIOR DE EDUCACIÓN RURAL PAMPLONA 2013

Upload: jeferson-chayanne-perez

Post on 28-Nov-2015

405 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Funciones de Cadena en Postgresql

FUNCIONES DE CADENA EN POSTGRESQL

JEFERSON CHAYANE PEREZ CÓDIGO: 1094264370

INSTITUTO SUPERIOR DE EDUCACIÓN RURAL PAMPLONA

2013

Page 2: Funciones de Cadena en Postgresql

FUNCIONES DE CADENA EN POSTGRESQL

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

escribamos se deben encerrar entre comillas simples. Son un array de caracteres (char)

terminado en un carácter nulo (\0)

Las cadenas se declaran como los arrays. Se inician con comillas.

Ejemplo:

char texto[5] = “ABC”; //contiene cadenas de 4 caracteres como máximo

Funciones que devuelven caracteres Este tipo de funciones devuelven un carácter o varios caracteres.

Función Propósito

CHR(n) Nos devuelve el carácter cuyo valor en binario es n

CONCAT(cad1, cad2) Nos devuelve cad1 concatenada con cad2

UPPER(cad) Convierte cad a mayúsculas

LOWER(cad) Convierte cad a minúsculas

LPAD(cad1,n[,cad2]) Con esta función añadimos caracteres a cad1 por la izquierda hasta una longitud máxima dada por n

INITCAP(cad) Convierte la primera letra de cad a mayúscula

LTRIM(cad [,set]) Elimina un conjunto de caracteres a la izquierda de cad, siendo set el conjunto de caracteres a eliminar

RPAD(cad1, n[,cad2]) 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

RTRIM(cad[,set]) Hace lo mismo que LTRIM pero por la derecha

REPLACE(cad,cadena_buscada [,cadena_sustitucion] )

Sustituye un conjunto de caracteres de 0 o más caracteres, devuelve cad con cada ocurrencia de cadena_buscada sustituida por cadena_sustitucion

SUBSTR(cad, m[,n]) Devuelve la subcadena de cad que abarca desde m hasta el numero de caracteres dados por n.

TRANSLATE(cad1,cad2,cad3)

Convierte caracteres de una cadena en caracteres diferentes. Devuelve cad1 con los caracteres encontrados en cad2 y sustituidos por los caracteres de cad3

Page 3: Funciones de Cadena en Postgresql

Funciones que devuelven valores numéricos

Estas funciones nos devuelven números a modo de información.

Las funciones de cadenas de caracteres retornan NULL si la longitud del resultado es mayor

que el valor de la variable de sistema max_allowed_packet .

Para funciones que operan en posiciones de cadenas de caracteres, la primera posición es la

1.

ASCII(str)

Retorna el valor numérico del carácter más a la izquierda de la cadena de caracteres str.

Retorna 0 si str es la cadena vacía. Retorna NULL si str es NULL. ASCII() funciona para

caracteres con valores numéricos de 0 a 255.

mysql> SELECT ASCII('2');

-> 50

mysql> SELECT ASCII(2);

-> 50

mysql> SELECT ASCII('dx');

-> 100

BIN(N)

Retorna una representación de cadena de caracteres del valor binario de N, donde N es un

número muy largo (BIGINT) . Esto es equivalente a CONV(N,10,2).

Retorna NULL si N es NULL.

mysql> SELECT BIN(12);

-> '1100'

BIT_LENGTH(str)

Retorna la longitud de la cadena de caracteres str en bits.

mysql> SELECT BIT_LENGTH('text');

Función Propósito

ASCII(cad) Devuelve el valor ASCII de la primera letra de cad

INSTR(cad1,

cad2[,comienzo[,m]])

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

LENGTH(cad) Devuelve en número de caracteres de cad

Page 4: Funciones de Cadena en Postgresql

-> 32

CHAR(N,...)

CHAR() interpreta los argumentos como enteros y retorna la cadena de caracteres que

consiste en los caracteres dados por los códigos de tales enteros. Los valores NULL no se

tienen en cuenta.

mysql> SELECT CHAR(77,121,83,81,'76');

-> 'MySQL'

mysql> SELECT CHAR(77,77.3,'77.3');

-> 'MMM'

CHAR_LENGTH(str)

Retorna la longitud de la cadena de caracteres str, medida en caracteres. Un carácter de

múltiples bytes cuenta como un sólo carácter. Esto significa que para una cadena de

caracteres que contiene cinco caracteres de dos bytes, LENGTH() retorna 10,

mientras CHAR_LENGTH() returna 5.

CHARACTER_LENGTH(str)

CHARACTER_LENGTH() es sinónimo de CHAR_LENGTH().

COMPRESS(string_to_compress)

Comprime una cadena de caracteres. Esta función necesita que MySQL se compile con

una biblioteca de compresión como zlib. De otro modo, el valor retornado siempre

es NULL. La cadena comprimida puede descomprimirse con UNCOMPRESS().

mysql> SELECT LENGTH(COMPRESS(REPEAT('a',1000)));

-> 21

mysql> SELECT LENGTH(COMPRESS(''));

-> 0

mysql> SELECT LENGTH(COMPRESS('a'));

-> 13

mysql> SELECT LENGTH(COMPRESS(REPEAT('a',16)));

-> 15

Los contenidos comprimidos se almacenan de la siguiente forma:

Cadenas vacías se almacenan como cadenas vacías.

Cadenas no vacías se almacenan como longitud de cuatros bytes de la cadena

descomprimida (los bytes más bajos primero), seguido de la cadena comprimida. Si la

cadena acaba con un espacio, se añade un carácter '.' para evitar problemas con

eliminación de espacios finales al almacenar en una columna CHAR o VARCHAR . (El uso

de CHAR o VARCHAR para almacenar cadenas comprimidas no se recomienda. Es mejor

usar una columna BLOB .)

Page 5: Funciones de Cadena en Postgresql

CONCAT(str1,str2,...)

Retorna la cadena resultado de concatenar los argumentos. Retorna NULL si algúna

argumento es NULL. Puede tener uno o más argumentos. Si todos los argumentos son

cadenas no binarias, el resultado es una cadena no binaria. Si los argumentos incluyen

cualquier cadena binaria, el resultado es una cadena binaria. Un argumento numérico se

convierte a su forma de cadena binaria equivalente; si quiere evitarlo puede usar

conversión de tipos explícita, como en este ejemplo: SELECT CONCAT(CAST(int_col AS

CHAR), char_col)

mysql> SELECT CONCAT('My', 'S', 'QL');

-> 'MySQL'

mysql> SELECT CONCAT('My', NULL, 'QL');

-> NULL

mysql> SELECT CONCAT(14.3);

-> '14.3'

CONCAT_WS(separator,str1,str2,...)

CONCAT_WS() significa CONCAT With Separator (CONCAT con separador) y es una forma

especial de CONCAT(). El primer argumento es el separador para el resto de argumentos.

El separador se añade entre las cadenas a concatenar. El separador puede ser una

cadena como el resto de argumentos. Si el separador es NULL, el resultado es NULL. La

función evita valores NULL tras el argumento separador.

mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');

-> 'First name,Second name,Last Name'

mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');

-> 'First name,Last Name'

En MySQL 5.0, CONCAT_WS() no evita cadenas vacías. (Sin embargo, evita NULLs.)

CONV(N,from_base,to_base)

Convierte números entre diferentes bases numéricas. Retorna una representación de

cadena de carácters para el número N, convertido de base from_base a base to_base.

Retorna NULL si algún argumento es NULL. El argumento N se interpreta como entero, pero

puede especificarse como un entero o cadena. La base mínima es2 y la máxima es 36.

Su to_base es un número negativo, N se trata como un número con signo. De otro

modo, Nse trata como sin signo. CONV() funciona con precisión de 64-bit.

mysql> SELECT CONV('a',16,2);

-> '1010'

mysql> SELECT CONV('6E',18,8);

-> '172'

mysql> SELECT CONV(-17,10,-18);

Page 6: Funciones de Cadena en Postgresql

-> '-H'

mysql> SELECT CONV(10+'10'+'10'+0xa,10,10);

-> '40'

ELT(N,str1,str2,str3,...)

Retorna str1 si N = 1, str2 if N = 2, y así. Retorna NULL si N es menor que 1 o mayor que

el número de argumentos. ELT() es el complemento de FIELD().

mysql> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo');

-> 'ej'

mysql> SELECT ELT(4, 'ej', 'Heja', 'hej', 'foo');

-> 'foo'

EXPORT_SET(bits,on,off[,separator[,number_of_bits]])

Retorna una cadena en que para cada bit del valor bits, puede obtener una cadena on y

para cada bit reasignado obtiene una cadena off . Los bits en bits se examinan de

derecha a izquierda (de bits menores a mayores). Las cadenas se añaden al resultado de

izquierda a derecha, separados por la cadena separator(siendo el carácter por defecto la

coma ','). El número de bits examinados se obtiene por number_of_bits (por defecto 64).

mysql> SELECT EXPORT_SET(5,'Y','N',',',4);

-> 'Y,N,Y,N'

mysql> SELECT EXPORT_SET(6,'1','0',',',10);

-> '0,1,1,0,0,0,0,0,0,0'

FIELD(str,str1,str2,str3,...)

Retorna el índice de str en la lista str1, str2, str3, ... . Retorna 0 si no se

encuentra str.

Si todos los argumentos de FIELD() son cadenas, todos los argumentos se comparan

como cadenas. Si todos los argumentos son números, se comparan como números. De

otro modo, los argumentos se comparan como números con doble precisión.

Si str es NULL, el valor retornado es 0 porque NULL falla en comparaciones de

comparación con cualquier valor.FIELD() es el complemento de ELT().

mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');

-> 2

mysql> SELECT FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');

-> 0

FIND_IN_SET(str,strlist)

Retorna un valor en el rango de 1 a N si la cadena str está en la lista de

cadenas strlist consistente de Nsubcadenas. Una lista de cadenas es una cadena

compuesta de subcadenas separadas por caracteres ',' . Si el primer argumento es una

cadena constante y el segundo es una columna de tipo SET, la

Page 7: Funciones de Cadena en Postgresql

función FIND_IN_SET()está optimizada para usar aritmética de bit. Retorna 0 si str no

está en strlist o si strlist es la cadena vacía. Retorna NULL si algún argumento

es NULL. Esta función no funciona apropiadamente si el primer argumento contiene un

carácter de coma (',') .

mysql> SELECT FIND_IN_SET('b','a,b,c,d');

-> 2

HEX(N_or_S)

Si N_OR_S es un número, retorna una cadena representación del valor hexadecimal de N,

donde N es un número muy grande (BIGINT) . Esto es equivalente a CONV(N,10,16).

Si N_OR_S es una cadena, esta función retorna una cadena hexadecimal

de N_OR_S caracteres, donde cada carácter en N_OR_S se convierte a dos dígitos

hexadecimales.

mysql> SELECT HEX(255);

-> 'FF'

mysql> SELECT 0x616263;

-> 'abc'

mysql> SELECT HEX('abc');

-> 616263

INSERT(str,pos,len,newstr)

Retorna la cadena str, con la subcadena comenzando en la

posición pos y len caracteres reemplazados por la cadena newstr. Retorna la cadena

original si pos no está entre la longitud de la cadena. Replaza el resto de la cadena a partir

de la posición pos si len no está dentro de la longitud del resto de la cadena.

Retorna NULL si cualquier argumento es nulo.

mysql> SELECT INSERT('Quadratic', 3, 4, 'What');

-> 'QuWhattic'

mysql> SELECT INSERT('Quadratic', -1, 4, 'What');

-> 'Quadratic'

mysql> SELECT INSERT('Quadratic', 3, 100, 'What');

-> 'QuWhat'

Esta función está preparada para funcionar con múltiples bytes.

INSTR(str,substr)

Retorna la posición de la primera ocurrencia de la subcadena substr en la cadena str.

Es lo mismo que la forma de dos argumentos de LOCATE(), excepto que el orden de los

argumentos es inverso.

mysql> SELECT INSTR('foobarbar', 'bar');

-> 4

Page 8: Funciones de Cadena en Postgresql

mysql> SELECT INSTR('xbar', 'foobar');

-> 0

Esta función puede trabajar con múltiples bytes. En MySQL 5.0, sólo es sensible a

mayúsculas si uno de los argumentos es una cadena binaria.

LCASE(str)

LCASE() es sinónimo de LOWER().

LEFT(str,len)

Retorna los len caracteres empezando por la izquierda de la cadena str.

mysql> SELECT LEFT('foobarbar', 5);

-> 'fooba'

LENGTH(str)

Retorna la longitud de la cadena str, medida en bytes.Un carácter multi-byte cuenta como

múltiples bytes. Esto significa que para cadenas que contengan cinco caracteres de dos

bytes, LENGTH() retorna 10, mientras queCHAR_LENGTH() retorna 5.

mysql> SELECT LENGTH('text');

-> 4

LOAD_FILE(file_name)

Lee el fichero y retorna el contenido como cadena de caracteres. El fichero debe estar

localizado en el servidor, debe especificar la ruta completa al fichero, y debe tener el

privilegio FILE . El fichero debe ser legible por todo el mundo y su tamaño menor

a max_allowed_packet bytes.

Si el fichero no existe o no puede ser leído debido a que una de las anteriores condiciones

no se cumple, la función retorna NULL.

mysql> UPDATE tbl_name

SET blob_column=LOAD_FILE('/tmp/picture')

WHERE id=1;

LOCATE(substr,str) , LOCATE(substr,str,pos)

La primera sintaxis retorna la posición de la primera ocurrencia de la subcadena substr en

la cadena str. La segunda sintaxis retorna la posición de la primera ocurrencia de la

subcadena substr en la cadena str, comanzando en la posición pos. Retorna 0

si substr no está en str.

mysql> SELECT LOCATE('bar', 'foobarbar');

-> 4

mysql> SELECT LOCATE('xbar', 'foobar');

-> 0

mysql> SELECT LOCATE('bar', 'foobarbar',5);

-> 7

Page 9: Funciones de Cadena en Postgresql

Esta función trabaja con múltiples bytes. En MySQL 5.0, es sensible a mayúsculas sólo si

algún argumento es una cadena binaria.

LOWER(str)

Retorna la cadena str con todos los caracteres cambiados a minúsculas según el mapeo

del conjunto de caracteres actual (por defecto es ISO-8859-1 Latin1).

mysql> SELECT LOWER('QUADRATICALLY');

-> 'quadratically'

Esta función funciona con múltiples bytes.

LPAD(str,len,padstr)

Retorna la cadena str, alineado a la izquierda con la cadena padstr a una longitud

de len caracteres. Si stres mayor que len, el valor retornado se acorta a len caracteres.

mysql> SELECT LPAD('hi',4,'??');

-> '??hi'

mysql> SELECT LPAD('hi',1,'??');

-> 'h'

LTRIM(str)

Retorna la cadena str con los caracteres en blanco iniciales eliminados.

mysql> SELECT LTRIM(' barbar');

-> 'barbar'

Esta función trabaja con múltiples bytes.

MAKE_SET(bits,str1,str2,...)

Retorna un conjunto de valores (una cadena conteniendo subcadenas separadas por

caracteres ',' ) consistiendo en cadenas que tienen el bit correspondiente

en bits asignado. str1 se corresponde al bit 0,str2 al bit 1, y así. Los

valores NULL en str1, str2, ... no se añaden al resultado.

mysql> SELECT MAKE_SET(1,'a','b','c');

-> 'a'

mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');

-> 'hello,world'

mysql> SELECT MAKE_SET(1 | 4,'hello','nice',NULL,'world');

-> 'hello'

mysql> SELECT MAKE_SET(0,'a','b','c');

-> ''

MID(str,pos,len)

MID(str,pos,len) es sinónimo de SUBSTRING(str,pos,len).

OCT(N)

Page 10: Funciones de Cadena en Postgresql

Retorna una representación en cadena del valor octal de N, donde N es un número largo

(BIGINT). Es equivalente a CONV(N,10,8). Retorna NULL si N es NULL.

mysql> SELECT OCT(12);

-> '14'

OCTET_LENGTH(str)

OCTET_LENGTH() es sinónimo de LENGTH().

ORD(str)

Si el carácter más a la izquierda de la cadena str es un carácter multi-byte , retorna el

código de ese carácter, calculado a partir del valor numérico de sus bytes usando esta

fórmula:

(1st byte code)

+ (2nd byte code * 256)

+ (3rd byte code * 256^2) ...

Si el caráctar más a la izquierda no es multi-byte , ORD() retorna el mismo valor que la

función ASCII() .

mysql> SELECT ORD('2');

-> 50

POSITION(substr IN str)

POSITION(substr IN str) es sinónimo de LOCATE(substr,str).

QUOTE(str)

Acota una cadena para producir un resultado que puede usarse como un valor con

caracteres de escape en un comando SQL. La cadena se retorna rodeado por comillas

sencillas y con cada instancia de comilla sencilla ('''), antibarra ('\'), ASCII NUL, y Control-

Z predecidos por una antibarra. Si el argumento es NULL, el valor de retorno es la

palabra “NULL” sin comillas alrededor.

mysql> SELECT QUOTE('Don\'t!');

-> 'Don\'t!'

mysql> SELECT QUOTE(NULL);

-> NULL

REPEAT(str,count)

Retorna una cadena consistente de la cadena str repetida count veces. Si count <= 0,

retorna una cadena vacía. Retorna NULL si str o count son NULL.

mysql> SELECT REPEAT('MySQL', 3);

-> 'MySQLMySQLMySQL'

REPLACE(str,from_str,to_str)

Retorna la cadena str con todas las ocurrencias de la cadena from_str reemplazadas

con la cadena to_str.

Page 11: Funciones de Cadena en Postgresql

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');

-> 'WwWwWw.mysql.com'

Esta función trabaja con múltiples bytes.

REVERSE(str)

Retorna la cadena str con el orden de los caracteres invertido.

mysql> SELECT REVERSE('abc');

-> 'cba'

Esta función trabaja con múltiples bytes.

RIGHT(str,len)

Retorna los len caracteres de la derecha de la cadena str.

mysql> SELECT RIGHT('foobarbar', 4);

-> 'rbar'

Esta función trabaja con múltiples bytes.

RPAD(str,len,padstr)

Retorna la cadena str, alineada a la derecha con la cadena padstr con una longitud

de len caracteres. Si stres mayor que len, el valor de retorno se corta a len caracteres.

mysql> SELECT RPAD('hi',5,'?');

-> 'hi???'

mysql> SELECT RPAD('hi',1,'?');

-> 'h'

Esta función trabaja con múltiples bytes.

RTRIM(str)

Retorna la cadena str con los espacios precedentes eliminados.

mysql> SELECT RTRIM('barbar ');

-> 'barbar'

Esta función trabaja con múltiples bytes.

SOUNDEX(str)

Retorna una cadena soudex de str. Dos cadenas que suenen igual deben tener cadenas

soundex idénticas. Una cadena soundex estándar tiene cuatro caracteres de longitud, pero

la función SOUNDEX() retorna una cadena arbitráriamente larga. Puede

usar SUBSTRING() en el resultado para obtener una cadena soundex estándar. Todos los

caracteres no alfabéticos en str se ignoran. Todos los caracteres alfabéticos

internacionales fuera del rango A-Z se tratan como vocales.

mysql> SELECT SOUNDEX('Hello');

-> 'H400'

Page 12: Funciones de Cadena en Postgresql

mysql> SELECT SOUNDEX('Quadratically');

-> 'Q36324'

Nota: Esta función implementa el algoritmo Soundex original, no la versión más popular

(descrita por D. Hnuth). La diferencia es que la versión original descarta vocales primero y

luego duplicados, mientras que la versión mejorada descarta primero los duplicados y

luego las vocales.

expr1 SOUNDS LIKE expr2

Es lo mismo que SOUNDEX(expr1) = SOUNDEX(expr2).

SPACE(N)

Retorna la cadena consistente en N caracteres blancos.

mysql> SELECT SPACE(6);

-> ' '

SUBSTRING(str,pos) , SUBSTRING(str FROM pos), SUBSTRING(str,pos,len) , SUBS

TRING(str FROMpos FOR len)

Las formas sin el arguemnto len retornan una subcadena de la cadena str comenzando

en la posición pos. Las formas con el argumento len retornan una subcadena de

longitud len a partir de la cadena str, comenzando en la posición pos.Las formas que

usan FROM son sintaxis SQL estándard. En MySQL 5.0, es posible usar valores negativos

para pos. En este caso, el inicio de la subcadena son pos caracteres a partir del final de la

cadena, en lugar del principio. Un valor negativo puede usarse para pos en cualquier de

las formas de esta función.

mysql> SELECT SUBSTRING('Quadratically',5);

-> 'ratically'

mysql> SELECT SUBSTRING('foobarbar' FROM 4);

-> 'barbar'

mysql> SELECT SUBSTRING('Quadratically',5,6);

-> 'ratica'

mysql> SELECT SUBSTRING('Sakila', -3);

-> 'ila'

mysql> SELECT SUBSTRING('Sakila', -5, 3);

-> 'aki'

mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);

-> 'ki'

Esta función trabaja con múltiples bytes.

Tenga en cuenta que si usa un valor menor a 1 para len, el resultado siempre es una

cadena vacía.

SUBSTR() es sinónimo de SUBSTRING().

Page 13: Funciones de Cadena en Postgresql

SUBSTRING_INDEX(str,delim,count)

Retorna la subcadena de la cadena str antes de count ocurrencias del

delimitador delim. Si count es positivo, todo a la izquierda del delimitador final (contando

desde la izquierda) se retorna. Si count es negativo, todo a la derecha del delimitador final

(contando desde la derecha) se retorna.

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);

-> 'www.mysql'

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);

-> 'mysql.com'

Esta función trabaja con múltiples bytes.

TRIM([{BOTH | LEADING | TRAILING} [remstr]

FROM] str), TRIM(remstr FROM] str)

Retorna la cadena str con todos los prefijos y/o sufijos remstr eliminados. Si ninguno de

los especificadoresBOTH, LEADING, o se daTRAILING, BOTH se asumen. Si remstr es

opcional y no se especifica, los espacios se eliminan.

mysql> SELECT TRIM(' bar ');

-> 'bar'

mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');

-> 'barxxx'

mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');

-> 'bar'

mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');

-> 'barx'

Esta función trabaja con múltiples bytes.

UCASE(str)

UCASE() es sinónimo de UPPER().

UNCOMPRESS(string_to_uncompress)

Descomprime una cadena comprimida con la función COMPRESS() . Si el argumento no es

un valor comprimido, el resultado es NULL. Esta función necesita que MySQL se compile

con una biblioteca de compresión tal como zlib. De otro modo, el valor de retorno siempre

es NULL.

mysql> SELECT UNCOMPRESS(COMPRESS('any string'));

-> 'any string'

mysql> SELECT UNCOMPRESS('any string');

-> NULL

UNCOMPRESSED_LENGTH(compressed_string)

Retorna la longitud de una cadena comprimida antes de la compresión.

Page 14: Funciones de Cadena en Postgresql

mysql> SELECT UNCOMPRESSED_LENGTH(COMPRESS(REPEAT('a',30)));

-> 30

UNHEX(str)

Realiza la operación opuesta a HEX(str). Esto es, interpreta cada par de dígitos

hexadecimales en el argumento como números y los convierte al carácter representado por

el número. El caracteres resultantes se retornan como cadena binaria.

mysql> SELECT UNHEX('4D7953514C');

-> 'MySQL'

mysql> SELECT 0x4D7953514C;

-> 'MySQL'

mysql> SELECT UNHEX(HEX('string'));

-> 'string'

mysql> SELECT HEX(UNHEX('1267'));

-> '1267'

UPPER(str)

Retorna la cadena str con todos los caracteres cambiados a mayúsculas según el mapeo

del conjunto de caracteres actual (por defecto es ISO-8859-1 Latin1).

mysql> SELECT UPPER('Hej');

-> 'HEJ'

Esta función trabaja con múltiples bytes.