module Sequel::SQL::NumericMethods

  1. lib/sequel/sql.rb
Parent: SQL

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

:a + :b # "a" + "b"
:a - :b # "a" - "b"
:a * :b # "a" * "b"
: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:

:a + 'b' # "a" || 'b'

Methods

Public Instance

  1. +

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, line 769
def +(ce)
  case ce
  when LiteralString
    NumericExpression.new(:+, self, ce)
  when StringExpression, String
    StringExpression.new(:'||', self, ce)
  else
    NumericExpression.new(:+, self, ce)
  end
end