module Sequel::SQL::ComplexExpressionMethods

Adds methods that allow you to treat an object as an instance of a specific ComplexExpression subclass.

Public Instance Methods

extract(datetime_part) click to toggle source

Extract a datetime part (e.g. year, month) from self:

Sequel[:date].extract(:year) # extract(year FROM "date")

Also has the benefit of returning the result as a NumericExpression instead of a generic ComplexExpression.

    # File lib/sequel/sql.rb
704 def extract(datetime_part)
705   NumericExpression.new(:extract, datetime_part, self)
706 end
sql_boolean() click to toggle source

Return a BooleanExpression representation of self.

    # File lib/sequel/sql.rb
709 def sql_boolean
710   BooleanExpression.new(:NOOP, self)
711 end
sql_number() click to toggle source

Return a NumericExpression representation of self.

~Sequel[:a] # NOT "a"
~(Sequel[:a].sql_number) # ~"a"
    # File lib/sequel/sql.rb
717 def sql_number
718   NumericExpression.new(:NOOP, self)
719 end
sql_string() click to toggle source

Return a StringExpression representation of self.

Sequel[:a] + :b # "a" + "b"
Sequel[:a].sql_string + :b # "a" || "b"
    # File lib/sequel/sql.rb
725 def sql_string
726   StringExpression.new(:NOOP, self)
727 end