Relation:extend

Adds a column to the current relation based on an expression.

Description

extend name = expression

Parameters

  • name: must be a valid name.
  • expression: any expression.

Examples

Using the sample relation films.csv

read "films.csv"
extend uppertitle = upper(film)

film director year uppertitle
A bout de souffle Godard 1960 A BOUT DE SOUFFLE
Tirez sur le pianiste Truffaut 1960 TIREZ SUR LE PIANISTE
Cléo de 5 à 7 Varda 1962 CLÉO DE 5 À 7
Jules et Jim Truffaut 1962 JULES ET JIM
Pierrot le fou Godard 1965 PIERROT LE FOU
Week-End Godard 1967 WEEK-END
Die verlorene Ehre der Katharina Blum von Trotta 1975 DIE VERLORENE EHRE DER KATHARINA BLUM
Der starke Ferdinand Kluge 1976 DER STARKE FERDINAND
Sans toi ni loi Varda 1985 SANS TOI NI LOI

read "films.csv"
set currentyear 2020
extend age = currentyear - year

film director year age
A bout de souffle Godard 1960 60
Tirez sur le pianiste Truffaut 1960 60
Cléo de 5 à 7 Varda 1962 58
Jules et Jim Truffaut 1962 58
Pierrot le fou Godard 1965 55
Week-End Godard 1967 53
Die verlorene Ehre der Katharina Blum von Trotta 1975 45
Der starke Ferdinand Kluge 1976 44
Sans toi ni loi Varda 1985 35

read "films.csv"
extend pretty = upper(film)." (".director.", ".year.")"

film director year pretty
A bout de souffle Godard 1960 A BOUT DE SOUFFLE (Godard, 1960)
Tirez sur le pianiste Truffaut 1960 TIREZ SUR LE PIANISTE (Truffaut, 1960)
Cléo de 5 à 7 Varda 1962 CLÉO DE 5 À 7 (Varda, 1962)
Jules et Jim Truffaut 1962 JULES ET JIM (Truffaut, 1962)
Pierrot le fou Godard 1965 PIERROT LE FOU (Godard, 1965)
Week-End Godard 1967 WEEK-END (Godard, 1967)
Die verlorene Ehre der Katharina Blum von Trotta 1975 DIE VERLORENE EHRE DER KATHARINA BLUM (von Trotta, 1975)
Der starke Ferdinand Kluge 1976 DER STARKE FERDINAND (Kluge, 1976)
Sans toi ni loi Varda 1985 SANS TOI NI LOI (Varda, 1985)

Comments

The expression can use any column of the current row and any global variable. It has not access to the other rows of the relation.

Variables can be numbers or text, it depends on the operators used in the expression. See expressions

The number of rows and the order stays the same.

You cannot extend an existing column. Use update for this

See also

select update