Class: OracleSqlParser::Ast::IntervalExpression
- Defined in:
- lib/oracle-sql-parser/ast/interval_expression.rb
Instance Method Summary collapse
Methods inherited from Hash
[], #[]=, #initialize, #inspect, #map_ast!, #method_missing, #remove_nil_values!
Methods inherited from Base
#==, [], #ast, #deep_dup, deep_dup, find_different_value, #initialize, #initialize_copy, #inspect, #map_ast, #map_ast!, #remove_nil_values!
Methods included from Util::Parameterizable
#to_parameterized, #to_parameternized
Constructor Details
This class inherits a constructor from OracleSqlParser::Ast::Hash
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class OracleSqlParser::Ast::Hash
Instance Method Details
#to_sql(options = {}) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/oracle-sql-parser/ast/interval_expression.rb', line 3 def to_sql( = {}) result = [] result << '(' result << @ast[:left] result << '-' result << @ast[:right] result << ')' result << (@ast[:day] || @ast[:year]) if @ast[:leading_field_precision] result << '(' result << @ast[:leading_field_precision] result << ')' end result << @ast[:to] result << (@ast[:second] || @ast[:month]) if @ast[:fractional_second_precision] result << '(' result << @ast[:fractional_second_precision] result << ')' end result.compact.map(&:to_sql).join(' ') end |