yq/operators/compare.md
2022-10-29 18:24:11 +11:00

1.5 KiB

Compare Operators

Comparison operators (>, >=, <, <=) can be used for comparing scalar values of the same time.

The following types are currently supported:

  • numbers
  • strings
  • datetimes
  • equals / not equals (==, !=) operators here
  • boolean operators (and, or, any etc) here
  • select operator here

Compare numbers (>)

Given a sample.yml file of:

a: 5
b: 4

then

yq '.a > .b' sample.yml

will output

true

Compare equal numbers (>=)

Given a sample.yml file of:

a: 5
b: 5

then

yq '.a >= .b' sample.yml

will output

true

Compare strings

Compares strings by their bytecode.

Given a sample.yml file of:

a: zoo
b: apple

then

yq '.a > .b' sample.yml

will output

true

Compare date times

You can compare date times. Assumes RFC3339 date time format, see date-time operators for more information.

Given a sample.yml file of:

a: 2021-01-01T03:10:00Z
b: 2020-01-01T03:10:00Z

then

yq '.a > .b' sample.yml

will output

true

Both sides are null: > is false

Running

yq --null-input '.a > .b'

will output

false

Both sides are null: >= is true

Running

yq --null-input '.a >= .b'

will output

true