Module: DWH::Functions::ExtractDatePart

Included in:
DWH::Functions
Defined in:
lib/dwh/functions/extract_date_part.rb

Overview

All date functions related to extracting part of date from a date or timestamp.

Instance Method Summary collapse

Instance Method Details

#extract_day_name(exp, abbreviate: false) ⇒ Object



46
47
48
49
50
51
52
53
54
55
# File 'lib/dwh/functions/extract_date_part.rb', line 46

def extract_day_name(exp, abbreviate: false)
  upper_case(
    if abbreviate
      date_format_sql(exp,
                      gsk(:abbreviated_day_name_format))
    else
      date_format_sql(exp, gsk(:day_name_format))
    end
  )
end

#extract_day_of_month(exp) ⇒ Object



22
23
24
# File 'lib/dwh/functions/extract_date_part.rb', line 22

def extract_day_of_month(exp)
  gsk(:extract_day_of_month).gsub(/@exp/i, exp)
end

#extract_day_of_week(exp) ⇒ Object



26
27
28
# File 'lib/dwh/functions/extract_date_part.rb', line 26

def extract_day_of_week(exp)
  gsk(:extract_day_of_week).gsub(/@exp/i, exp)
end

#extract_day_of_year(exp) ⇒ Object



18
19
20
# File 'lib/dwh/functions/extract_date_part.rb', line 18

def extract_day_of_year(exp)
  gsk(:extract_day_of_year).gsub(/@exp/i, exp)
end

#extract_hour(exp) ⇒ Object



34
35
36
# File 'lib/dwh/functions/extract_date_part.rb', line 34

def extract_hour(exp)
  gsk(:extract_hour).gsub(/@exp/i, exp)
end

#extract_minute(exp) ⇒ Object



38
39
40
# File 'lib/dwh/functions/extract_date_part.rb', line 38

def extract_minute(exp)
  gsk(:extract_minute).gsub(/@exp/i, exp)
end

#extract_month(exp) ⇒ Object



10
11
12
# File 'lib/dwh/functions/extract_date_part.rb', line 10

def extract_month(exp)
  gsk(:extract_month).gsub(/@exp/i, exp)
end

#extract_month_name(exp, abbreviate: false) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
# File 'lib/dwh/functions/extract_date_part.rb', line 57

def extract_month_name(exp, abbreviate: false)
  upper_case(
    if abbreviate
      date_format_sql(exp,
                      gsk(:abbreviated_month_name_format))
    else
      date_format_sql(exp,
                      gsk(:month_name_format))
    end
  )
end

#extract_quarter(exp) ⇒ Object



14
15
16
# File 'lib/dwh/functions/extract_date_part.rb', line 14

def extract_quarter(exp)
  gsk(:extract_quarter).gsub(/@exp/i, exp)
end

#extract_week_of_year(exp) ⇒ Object



30
31
32
# File 'lib/dwh/functions/extract_date_part.rb', line 30

def extract_week_of_year(exp)
  gsk(:extract_week_of_year).gsub(/@exp/i, exp)
end

#extract_year(exp) ⇒ Object



6
7
8
# File 'lib/dwh/functions/extract_date_part.rb', line 6

def extract_year(exp)
  gsk(:extract_year).gsub(/@exp/i, exp)
end

#extract_year_month(exp) ⇒ Object



42
43
44
# File 'lib/dwh/functions/extract_date_part.rb', line 42

def extract_year_month(exp)
  gsk(:extract_year_month).gsub(/@exp/i, exp)
end