Función BPCHARCMP - Amazon Redshift

Función BPCHARCMP

Compara el valor de dos cadenas y devuelve un valor entero. Si las cadenas son idénticas, la función devuelve 0. Si la primera cadena es mayor alfabéticamente, la función devuelve 1. Si la segunda cadena es mayor, la función devuelve -1.

Para caracteres multibyte, la comparación se basa en la codificación del byte.

Sinónimo de Función BTTEXT_PATTERN_CMP.

Sintaxis

BPCHARCMP(string1, string2)

Argumentos

string1

Una cadena CHAR o VARCHAR.

string2 (cadena2)

Una cadena CHAR o VARCHAR.

Tipo de retorno

INTEGER

Ejemplos

En los siguientes ejemplos se utiliza la tabla VENUE de la base de datos de muestra de TICKIT. Para obtener más información, consulte Base de datos de muestra.

Para determinar si el nombre de un usuario es alfabéticamente mayor que el apellido del usuario para las primeras diez entradas en la tabla USERS, use el siguiente ejemplo. Para las entradas en las que la cadena de FIRSTNAME es posterior alfabéticamente a la cadena de LASTNAME, la función devuelve 1. Si LASTNAME es alfabéticamente posterior a FIRSTNAME, la función devuelve -1.

SELECT userid, firstname, lastname, BPCHARCMP(firstname, lastname) FROM users ORDER BY 1, 2, 3, 4 LIMIT 10; +--------+-----------+-----------+-----------+ | userid | firstname | lastname | bpcharcmp | +--------+-----------+-----------+-----------+ | 1 | Rafael | Taylor | -1 | | 2 | Vladimir | Humphrey | 1 | | 3 | Lars | Ratliff | -1 | | 4 | Barry | Roy | -1 | | 5 | Reagan | Hodge | 1 | | 6 | Victor | Hernandez | 1 | | 7 | Tamekah | Juarez | 1 | | 8 | Colton | Roy | -1 | | 9 | Mufutau | Watkins | -1 | | 10 | Naida | Calderon | 1 | +--------+-----------+-----------+-----------+

Para devolver todas las entradas de la tabla USERS en las que la función devuelve 0, use el siguiente ejemplo. La función devuelve 0 cuando FIRSTNAME es idéntico a LASTNAME.

SELECT userid, firstname, lastname, BPCHARCMP(firstname, lastname) FROM users WHERE BPCHARCMP(firstname, lastname)=0 ORDER BY 1, 2, 3, 4; +--------+-----------+----------+-----------+ | userid | firstname | lastname | bpcharcmp | +--------+-----------+----------+-----------+ | 62 | Chase | Chase | 0 | | 4008 | Whitney | Whitney | 0 | | 12516 | Graham | Graham | 0 | | 13570 | Harper | Harper | 0 | | 16712 | Cooper | Cooper | 0 | | 18359 | Chase | Chase | 0 | | 27530 | Bradley | Bradley | 0 | | 31204 | Harding | Harding | 0 | +--------+-----------+----------+-----------+