Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fonction STRTOL
Convertit une expression de chaîne d’un nombre de la base spécifiée en la valeur de nombre entier équivalente. La valeur convertie doit est comprise dans la plage de 64 bits signée.
Syntaxe
STRTOL(num_string, base)
Arguments
- num_string
-
Expression de chaîne d’un nombre à convertir. Si num_string est vide (
''
) ou commence par le caractère null ('\0'
), la valeur convertie est0
. Si num_string est une colonne contenant une valeur NULL, STRTOL renvoieNULL
. La chaîne peut commencer par n’importe quelle quantité d’espace vide, éventuellement suivie d’un signe plus «+
» ou moins «-
» pour indiquer si elle est positive ou négative. La valeur par défaut est «+
». Si la base est16
, la chaîne peut éventuellement commencer par «0x
». - base
-
INTEGER
entre 2 et 36.
Type de retour
- BIGINT
-
Si num_string a pour valeur null, la fonction renvoie
NULL
.
Exemples
Pour convertir des paires de valeur de chaîne et de base en entiers, utilisez les exemples suivants.
SELECT STRTOL('0xf',16);
+--------+ | strtol | +--------+ | 15 | +--------+
SELECT STRTOL('abcd1234',16);
+------------+ | strtol | +------------+ | 2882343476 | +------------+
SELECT STRTOL('1234567', 10);
+---------+ | strtol | +---------+ | 1234567 | +---------+
SELECT STRTOL('1234567', 8);
+--------+ | strtol | +--------+ | 342391 | +--------+
SELECT STRTOL('110101', 2);
+--------+ | strtol | +--------+ | 53 | +--------+
SELECT STRTOL('\0', 2);
+--------+ | strtol | +--------+ | 0 | +--------+