Table des matières

Search

  1. Préface
  2. Le langage de transformation
  3. Constantes
  4. Opérateurs
  5. Variables
  6. Dates
  7. Fonctions

Référence du langage de transformation

Référence du langage de transformation

SUBSTR

SUBSTR

Renvoie une portion d'une chaîne. SUBSTR compte tous les caractères, y compris blancs, en partant du début de la chaîne.

Syntaxe

SUBSTR(
string
,
start
[,
length
] )
Le tableau suivant décrit les arguments de cette commande:
Argument
Obligatoire/
Facultatif
Description
chaîne
Obligatoire
Doit être une chaîne de caractères. Transmet les chaînes à rechercher. Vous pouvez entrer l'expression de transformation valide de votre choix. Si vous transmettez une valeur numérique, la fonction la convertit en une chaîne de caractères.
début
Obligatoire
Doit être un nombre entier. Position dans la chaîne où vous voulez démarrer le compte. Vous pouvez entrer l'expression de transformation valide de votre choix. Si la position de départ est un nombre positif, SUBSTR recherche la position de départ par en comptant à partir du début de la chaîne. Si la position de départ est un nombre négatif, SUBSTR recherche la position de départ par en comptant à partir de la fin de la chaîne. Si la position de départ est 0, SUBSTR recherche à partir du premier caractère dans la chaîne.
longueur
Facultatif
Doit être un nombre entier supérieur à 0. Nombre de caractères que vous voulez que SUBSTR renvoie. Vous pouvez entrer l'expression de transformation valide de votre choix. Si vous omettez l'argument de longueur, SUBSTR renvoie tous les caractères compris entre la position de départ et la fin de la chaîne. Si vous transmettez un entier négatif ou 0, la fonction renvoie une chaîne vide. Si vous transmettez un nombre décimal, la fonction arrondit à la valeur entière la plus proche.

Valeur de retour

Chaîne.
Chaîne vide si vous transmettez une valeur de longueur négative ou 0.
NULL si une valeur transmise à la fonction est NULL.

Exemples

Les expressions suivantes renvoient l'indicatif régional pour chaque ligne dans le port Phone :
SUBSTR( PHONE, 0, 3 )
PHONE
RETURN VALUE
809-555-0269
809
357-687-6708
357
NULL
NULL
SUBSTR( PHONE, 1, 3 )
PHONE
RETURN VALUE
809-555-3915
809
357-687-6708
357
NULL
NULL
Les expressions suivantes renvoient le numéro de téléphone sans indicatif régional pour chaque ligne dans le port Phone :
SUBSTR( PHONE, 5, 8 )
PHONE
RETURN VALUE
808-555-0269
555-0269
809-555-3915
555-3915
357-687-6708
687-6708
NULL
NULL
Vous pouvez également transmettre une valeur de départ négative pour renvoyer le numéro de téléphone pour chaque ligne dans le port Phone. L'expression continue de lire la chaîne source de gauche à droite lors du renvoi du résultat de l'argument
longueur
 :
SUBSTR( PHONE, -8, 3 )
PHONE
RETURN VALUE
808-555-0269
555
809-555-3915
555
357-687-6708
687
NULL
NULL
Vous pouvez imbriquer INSTR dans l'argument de
démarrage
ou de
longueur
pour rechercher une chaîne spécifique et renvoyer sa position.
L'expression suivante évalue une chaîne, en commençant par la fin de cette chaîne. L'expression recherche le dernier espace (le plus à droite) dans la chaîne et renvoie tous les caractères qui le précèdent :
SUBSTR( CUST_NAME,1,INSTR( CUST_NAME,' ' ,-1,1 ) - 1 )
CUST_NAME
RETURN VALUE
PATRICIA JONES
PATRICIA
MARY ELLEN SHAH
MARY ELLEN
L'expression suivante supprime le caractère « # » d'une chaîne :
SUBSTR( CUST_ID, 1, INSTR(CUST_ID, '#')-1 ) || SUBSTR( CUST_ID, INSTR(CUST_ID, '#')+1 )
Lorsque l'argument de
longueur
est plus long que la chaîne, SUBSTR renvoie tous les caractères compris entre la position de départ et la fin de la chaîne. Considérons l’exemple suivant :
SUBSTR('abcd', 2, 8)
La valeur de retour est ‘bcd’. Comparez ce résultat à l'exemple suivant :
SUBSTR('abcd', -2, 8)
La valeur de retour est ‘cd’.