module Sequel::SQL::CastMethods
Holds methods that are used to cast objects to different SQL
types.
Public Instance Methods
Source
# File lib/sequel/sql.rb 695 def cast(sql_type) 696 Cast.new(self, sql_type) 697 end
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 705 def cast_numeric(sql_type = nil) 706 Cast.new(self, sql_type || Integer).sql_number 707 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 715 def cast_string(sql_type = nil) 716 Cast.new(self, sql_type || String).sql_string 717 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)