Création d'une expression de caractères de longeur variable

Dans cette section :

Comme un champ AnV est de type alphanumérique, il peut être utilisé dans des expressions arithmétiques et logiques de la même façon que le type An.

Remarque : comme les champs AnV consomment deux octets de temps système et comme il faut les dénuder au moyen d'un traitement supplémentaire, il n'est pas conseillé d'utiliser le format AnV avec des sources de données non relationnelles.


Haut de page

x
Utiliser la concaténation avec les champs AnV

Si un des deux opérandes dans une concaténation entre deux champs est un champ de type AnV, des règles alphanumériques de longueur variable sont utilisées pour effectuer la concaténation :


Haut de page

x
Utilisation de la fonction EDIT avec les champs AnV

L'expression suivante n'a pour résultat le format AnV que lorsque x est au format AnV.

EDIT(x,mask)

La longueur réelle du résultat est le nombre de caractères dans le masque autre que '$'.

Notez que la longueur réelle de zéro peut en résulter.

EDIT(x) peut être utilisée pour convertir un champ AnV à une valeur de nombre entier lorsque x est au format AnV.


Haut de page

x
Utilisation de CONTAINS et OMITS avec les champs AnV

La seule différence dans l'évaluation des opérateurs CONTAINS et OMITS avec les champs AnV se produit lorsque zéro est la longueur réelle de l'un des opérandes.

Dans les exemples suivants, le champ Z a zéro comme longueur réelle, non pas les champs X et Y :

Expressions :

Résultat

Z CONTAINS Y

FALSE

X CONTAINS Z

TRUE

Z CONTAINS Z

TRUE

Z OMITS Y

TRUE

X OMITS Z

FALSE

Z OMITS Z

FALSE



x
Utilisation de LIKE avec des champs AnV

La seule différence dans l'évaluation de l'expression suivante se produit lorsque x a zéro comme longueur réelle :

x LIKE mask ...

Dans l'exemple suivant, l'instance de champ Z a zéro comme longueur réelle :

Z LIKE mask ...

Cette expression ne produit TRUE comme résultat de l'évaluation que lorsque le masque est constitué exclusivement de symboles de pourcentage ('%').

Notez qu'aucun autre masque ne peut avoir une chaîne vide comme évaluation. Même le masque dans l'expression suivante a comme longueur 1, et l'expression produit donc FALSE comme évaluation :

Z LIKE ''

Haut de page

x
Utiliser les opérateurs EQ, NE, LT, GT, LE et GE avec les champs AnV

Comme pour les champs de type An, les opérations sont évaluées en supposant que l'opérande le plus court est rempli de blancs.

Par conséquent, même un champ AnV vide, Z, est comparé en tant que champ composé de blancs.

Dans les exemples suivants, Z est une instance de champ AnV vide et X est une instance de champ AnV qui n'est pas vide et qui contient des caractères non blancs.

Expressions :

Résultat

Z EQ Z
Z GE Z
Z LE Z

TRUE

Z NE Z
Z LT Z
Z GT Z

FALSE

Z EQ X

FALSE

Z NE X

TRUE

Z LT X

TRUE

Z GT X

FALSE

Z LE X

TRUE

Z GE X

FALSE

X EQ Z

FALSE

X NE Z

TRUE

X LT Z

FALSE

X GT Z

TRUE

X LE Z

FALSE

X GE Z

TRUE



x
Utilisation de la fonction DECODE avec les champs AnV
DECODE alphafield (value 'result'...

L'utilisation d'un champ An ou AnV avec la fonction DECODE a comme résultat le type An, tant que la partie résultat des paires valeur-résultat est fournie en tant que constante. (Les constantes sont de type An).


Haut de page

x
Utilisation de l'opérateur d'affectation avec les champs AnV

Il faut prendre en compte trois situations lors de l'utilisation de l'opérateur d'affectation avec le format AnV : le type de données AnV du côté droit uniquement, le type de données AnV des deux côtés, et le type de données AnV du côté gauche uniquement.

fld/An = AnV_type_expression;

WebFOCUS