Cómo crear una expresión de caracteres de longitud variable

En esta sección:

Como un tipo alfanumérico, un campo AnV puede utilizarse en expresiones lógicas y aritméticas de la misma forma que se utiliza un tipo An

Nota: Como los campos AnV tienen dos bytes en exceso y se requiere procesamiento adicional para dividirlos, no se recomienda el formato AnV para usarlo en orígenes de datos no relacionales.


Principio de página

x
Cómo utilizar concatenación con campos AnV

Si cualquiera de los operandos en una concatenación entre dos campos es un campo AnV, se usan las reglas alfanuméricas de longitud variable para realizar la concatenación:


Principio de página

x
Cómo utilizar la función EDIT con campos AnV

La siguiente expresión arroja un formato AnV sólo cuando x tiene un formato AnV.

EDIT(x,mask)

La longitud real del resultado es el número de caracteres en mask que no sea '$'.

Tenga en cuenta que el resultado podría ser una longitud real de cero.

EDIT(x) se puede utilizar para convertir un campo AnV en un valor de número entero cuando x tiene un formato de AnV.


Principio de página

x
Cómo utilizar CONTAINS y OMITS con campos AnV

La única diferencia en la evaluación de los operadores CONTAINS y OMITS con campos AnV sucede cuando uno de los operandos tiene una longitud real de cero.

En los ejemplos que siguen, el campo Z tiene una longitud real de cero, pero X e Y no la tienen:

Expresión

Resultado

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
Usar LIKE con campos AnV

La única diferencia en la evaluación de la expresión que sigue tiene lugar cuando x tiene una longitud real de cero:

x LIKE mask ...

En el siguiente ejemplo, el caso de campo Z tiene una longitud real de cero:

Z LIKE mask ...

Esta expresión evalúa el valor TRUE solamente si la máscara consiste exclusivamente de signos porcentuales ('%').

Tenga en cuenta que ninguna otra máscara puede evaluar en una cadena vacía. Incluso la máscara en la siguiente expresión tiene una longitud de uno y, por lo tanto, la expresión se evalúa como FALSE:

Z LIKE ''

Principio de página

x
Usar los operadores EQ, NE, LT, GT, LE y GE con campos AnV

Como en el caso de los campos del tipo An, las operaciones se evalúan partiendo del supuesto de que el operando más corto está aislado con espacios en blanco.

Por lo tanto, incluso un campo AnV vacío, Z, se compara como un campo que contiene todo espacios en blanco.

En los ejemplos que siguen, Z es un campo AnV vacío y X es un caso de campo AnV que no está vacío y que contiene caracteres que no son espacios en blanco:

Expresión

Resultado

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
Cómo utilizar la función DECODE con campos AnV
DECODE alphafield (value 'result'...

El uso de un campo An o AnV con DECODE arroja un resultado del tipo An en la medida en que la parte result de los pares de valor-resultado se proporcionen como una constante. (Las constantes son del tipo An.)


Principio de página

x
Cómo utilizar el operador de asignación con campos AnV

Hay que tener en cuenta tres situaciones al utilizar el operador de asignación con el formato nV: el tipo de datos AnV, sólo en la parte derecha, el tipo de datos AnV, en ambos lados y el tipo de datos AnV, sólo en la parte izquierda.

fld/An = AnV_type_expression;

WebFOCUS