module Sequel::SQL::OperatorBuilders

  1. lib/sequel/sql.rb

This adds methods to create SQL expressions using operators:

Sequel.+(1, :a)   # (1 + a)
Sequel.-(1, :a)   # (1 - a)
Sequel.*(1, :a)   # (1 * a)
Sequel./(1, :a)   # (1 / a)
Sequel.&(:b, :a)   # (b AND a)
Sequel.|(:b, :a)   # (b OR a)

Methods

Public Instance

  1. **
  2. ~

Public Instance methods

**(a, b)

Return NumericExpression for the exponentiation:

Sequel.**(2, 3) # SQL: power(2, 3)
[show source]
    # File lib/sequel/sql.rb
871 def **(a, b)
872   SQL::NumericExpression.new(:**, a, b)
873 end
~(arg)

Invert the given expression. Returns a Sequel::SQL::BooleanExpression created from this argument, not matching all of the conditions.

Sequel.~(nil) # SQL: NOT NULL
Sequel.~([[:a, true]]) # SQL: a IS NOT TRUE
Sequel.~([[:a, 1], [:b, [2, 3]]]) # SQL: a != 1 OR b NOT IN (2, 3)
[show source]
    # File lib/sequel/sql.rb
881 def ~(arg)
882   if condition_specifier?(arg)
883     SQL::BooleanExpression.from_value_pairs(arg, :OR, true)
884   else
885     SQL::BooleanExpression.invert(arg)
886   end
887 end