Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog
Fonction BPCHARCMP
Compare la valeur de deux chaînes et renvoie un nombre entier. Si les chaînes sont identiques, la fonction renvoie 0. Si la première chaîne est supérieure dans l’ordre alphabétique, la fonction renvoie 1. Si la seconde chaîne est supérieure, la fonction renvoie -1.
Pour les caractères à plusieurs octets, la comparaison est basée sur l’encodage en octets.
Synonyme de Fonction BTTEXT_PATTERN_CMP.
Syntaxe
BPCHARCMP(string1, string2)
Arguments
- string1
-
Chaîne
CHARou chaîneVARCHAR. - string2
-
Chaîne
CHARou chaîneVARCHAR.
Type de retour
INTEGER
Exemples
Les exemples suivants utilisent la table USERS de l’exemple de base de données TICKIT. Pour plus d’informations, consultez Exemple de base de données.
Pour déterminer si le prénom d’un utilisateur est alphabétiquement supérieur au nom de famille de l’utilisateur pour les dix premières entrées de la table USERS, utilisez l’exemple suivant. Pour les entrées où la chaîne FIRSTNAME est située plus loin dans l’ordre alphabétique que la chaîne LASTNAME, la fonction renvoie 1. Si LASTNAME est situé plus loin dans l’ordre alphabétique que FIRSTNAME, la fonction renvoie -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 | +--------+-----------+-----------+-----------+
Pour renvoyer toutes les entrées de la table USERS si la fonction renvoie 0, utilisez l’exemple suivant. La fonction renvoie 0 lorsque FIRSTNAME est identique à 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 | +--------+-----------+----------+-----------+