Module Sequel::SQL::CastMethods
In: lib/sequel/sql.rb

Holds methods that are used to cast objects to different SQL types.

Methods

Public Instance methods

Cast the reciever to the given SQL type. You can specify a ruby class as a type, and it is handled similarly to using a database independent type in the schema methods.

  Sequel.function(:func).cast(:integer) # CAST(func() AS integer)
  Sequel.function(:func).cast(String) # CAST(func() AS varchar(255))

[Source]

     # File lib/sequel/sql.rb, line 696
696:       def cast(sql_type)
697:         Cast.new(self, sql_type)
698:       end

Cast the reciever to the given SQL type (or the database‘s default Integer type if none given), and return the result as a NumericExpression, so you can use the bitwise operators on the result.

  Sequel.function(:func).cast_numeric # CAST(func() AS integer)
  Sequel.function(:func).cast_numeric(Float) # CAST(func() AS double precision)

[Source]

     # File lib/sequel/sql.rb, line 706
706:       def cast_numeric(sql_type = nil)
707:         Cast.new(self, sql_type || Integer).sql_number
708:       end

Cast the reciever to the given SQL type (or the database‘s default String type if none given), and return the result as a StringExpression, so you can use + directly on the result for SQL string concatenation.

  Sequel.function(:func).cast_string # CAST(func() AS varchar(255))
  Sequel.function(:func).cast_string(:text) # CAST(func() AS text)

[Source]

     # File lib/sequel/sql.rb, line 716
716:       def cast_string(sql_type = nil)
717:         Cast.new(self, sql_type || String).sql_string
718:       end

[Validate]