Skip to content

Commit 3be8b25

Browse files
authored
Merge pull request #121 from fishtown-analytics/feature/fix-right-bug
made changes to right() function
2 parents ce8daeb + 1c3934a commit 3be8b25

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
string_text,length_expression,output
22
abcdef,3,def
33
fishtown,4,town
4-
december,5,ember
4+
december,5,ember
5+
december,0,

integration_tests/models/cross_db_utils/test_right.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ with data as (
77
select
88

99
{{ dbt_utils.right('string_text', 'length_expression') }} as actual,
10-
output as expected
10+
coalesce(output, '') as expected
1111

1212
from data

macros/cross_db_utils/right.sql

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,26 @@
1313

1414
{% macro bigquery__right(string_text, length_expression) %}
1515

16-
substr(
17-
{{ string_text }},
18-
-1 * ({{ length_expression }})
19-
)
16+
case when {{ length_expression }} = 0
17+
then ''
18+
else
19+
substr(
20+
{{ string_text }},
21+
-1 * ({{ length_expression }})
22+
)
23+
end
24+
25+
{%- endmacro -%}
26+
27+
{% macro snowflake__right(string_text, length_expression) %}
28+
29+
case when {{ length_expression }} = 0
30+
then ''
31+
else
32+
right(
33+
{{ string_text }},
34+
{{ length_expression }}
35+
)
36+
end
2037

2138
{%- endmacro -%}

0 commit comments

Comments
 (0)