2.3 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
Related Operators
- equals / not equals (
==,!=) operators (here)[https://mikefarah.gitbook.io/yq/operators/equals] - boolean operators (
and,or,anyetc) (here)[https://mikefarah.gitbook.io/yq/operators/boolean-operators] - select operator (here)[https://mikefarah.gitbook.io/yq/operators/select]
{% hint style="warning" %} Note that versions prior to 4.18 require the 'eval/e' command to be specified.
yq e <exp> <file>
{% endhint %}
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
One side is null: > is false
Given a sample.yml file of:
a: 5
then
yq '.a > .b' sample.yml
will output
false
One side is null: >= is false
Given a sample.yml file of:
a: 5
then
yq '.a >= .b' sample.yml
will output
false
Compare integers (>)
Given a sample.yml file of:
a: 5
b: 4
then
yq '.a > .b' sample.yml
will output
true
Compare integers (>=)
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
false
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