This module includes the standard mathematical methods (+, -, *, and /) that are defined on objects that can be used in a numeric context in `SQL`

(`Symbol`

, `LiteralString`

, and `SQL::GenericExpression`

).

Sequel[:a] + :b # "a" + "b" Sequel[:a] - :b # "a" - "b" Sequel[:a] * :b # "a" * "b" Sequel[:a] / :b # "a" / "b"

One exception to this is if + is called with a `String`

or `StringExpression`

, in which case the || operator is used instead of the + operator:

Sequel[:a] + 'b' # "a" || 'b'

## Public Instance methods

+
(ce)

Use || as the operator when called with `StringExpression`

and String instances, and the + operator for LiteralStrings and all other types.

[show source]

# File lib/sequel/sql.rb 797 def +(ce) 798 case ce 799 when LiteralString 800 NumericExpression.new(:+, self, ce) 801 when StringExpression, String 802 StringExpression.new(:'||', self, ce) 803 else 804 NumericExpression.new(:+, self, ce) 805 end 806 end

coerce
(other)

If the argument given is Numeric, treat it as a `NumericExpression`

, allowing code such as:

1 + Sequel[:x] # SQL: (1 + x) Sequel.expr{1 - x(y)} # SQL: (1 - x(y))

[show source]

# File lib/sequel/sql.rb 787 def coerce(other) 788 if other.is_a?(Numeric) 789 [SQL::NumericExpression.new(:NOOP, other), self] 790 else 791 super 792 end 793 end