Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la publicación del blog
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
CHARoVARCHAR. - string2 (cadena2
-
Una cadena
CHARoVARCHAR.
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 | +--------+-----------+----------+-----------+