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)
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