module Sequel::SQL::StringMethods

This module includes the like and ilike methods used for pattern matching that are defined on objects that can be used in a string context in SQL (Symbol, LiteralString, SQL::GenericExpression).

Public Instance Methods

escaped_ilike(placeholder_pattern, placeholder_values) click to toggle source

Create a EscapedLikeExpression case insensitive pattern match of the receiver with the patterns, interpolated escaped values for each +?+ placeholder in the pattern.

Sequel[:a].escaped_ilike('?%', 'A') # "a" ILIKE 'A%' ESCAPE '\'
Sequel[:a].escaped_ilike('?%', '%A') # "a" ILIKE '\%A%' ESCAPE '\'
   # File lib/sequel/extensions/escaped_like.rb
85 def escaped_ilike(placeholder_pattern, placeholder_values)
86   EscapedLikeExpression.new(self, false, placeholder_pattern, placeholder_values)
87 end
escaped_like(placeholder_pattern, placeholder_values) click to toggle source

Create a EscapedLikeExpression case sensitive pattern match of the receiver with the patterns, interpolated escaped values for each +?+ placeholder in the pattern.

Sequel[:a].escaped_like('?%', 'A') # "a" LIKE 'A%' ESCAPE '\'
Sequel[:a].escaped_like('?%', '%A') # "a" LIKE '\%A%' ESCAPE '\'
   # File lib/sequel/extensions/escaped_like.rb
95 def escaped_like(placeholder_pattern, placeholder_values)
96   EscapedLikeExpression.new(self, true, placeholder_pattern, placeholder_values)
97 end
ilike(*ces) click to toggle source

Create a BooleanExpression case insensitive pattern match of the receiver with the given patterns. See StringExpression.like.

Sequel[:a].ilike('A%') # "a" ILIKE 'A%' ESCAPE '\'
    # File lib/sequel/sql.rb
955 def ilike(*ces)
956   StringExpression.like(self, *(ces << {:case_insensitive=>true}))
957 end
like(*ces) click to toggle source

Create a BooleanExpression case sensitive (if the database supports it) pattern match of the receiver with the given patterns. See StringExpression.like.

Sequel[:a].like('A%') # "a" LIKE 'A%' ESCAPE '\'
    # File lib/sequel/sql.rb
963 def like(*ces)
964   StringExpression.like(self, *ces)
965 end