La función Record.SelectFields devuelve un registro incluyendo un subconjunto de sus campos.
Record.SelectFields(
record as record,
fields as any,
optional missingField as nullable number
) as record
- record: registro del que seleccionar los campos
- fields: campo o campos a seleccionar
- missingField: (opcional) criterio a seguir cuando no exista el campo a seleccionar
Si alguno de los campos no existe, por defecto se devuelve un error, pero este comportamiento puede controlarse añadiendo el argumento missingField. Éste puede tomar los valores MissingField.Error, MissingField.UseNull o MissingField.Ignore. Véanse ejemplos más adelante.
El argumento fields puede ser una cadena de texto conteniendo el nombre del campo buscado, o una lista de nombres de campos.
En el caso de que dicho argumento se trate de una lista de campos, el orden en el que aparezcan éstos será el que determine el orden de los campos en el registro devuelto por la función.
Podemos extraer el campo "name" del registro [id=1, name="Tom", city="London"] con la siguiente expresión:
Record.SelectFields(
[id=1, name="Tom", city="London"],
"name"
)
Record
Un clic en el enlace Record nos muestra el registro devuelto:
Si queremos seleccionar dos o más campos, el argumento fields deberá ser una lista conteniendo sus nombres:
Record.SelectFields(
[id=1, name="Tom", city="London"],
{"name", "city"}
)
Record
El registro devuelto es el siguiente:
Obsérvese que el orden de los campos en el registro devuelto es el especificado en el argumento fields. Así, si en el ejemplo anterior cambiamos el orden de los registros seleccionados...
Record.SelectFields(
[id=1, name="Tom", city="London"],
{"city", "name"}
)
Record
...el registro devuelto por la función incluye sus campos en el orden indicado:
Si alguno de los campos no existe, la función devuelve un mensaje de error:
Record.SelectFields(
[id=1, name="Tom", city="London"],
{"name", "location"}
)
Error
Este comportamiento puede modificarse añadiendo el argumento missingField. Si éste toma el valor MissingField.Error, la función devuelve un error cuando algún campo no exista (es el comportamiento por defecto). Si toma el valor MissingField.Ignore, simplemente se ignoran los campos inexistentes:
Record.SelectFields(
[id=1, name="Tom", city="London"],
{"name", "location"},
MissingField.Ignore
)
Record
El registro devuelto es el siguiente: