Skip to content

Commit 1c3934a

Browse files
committed
made changes to right() function
1 parent ce8daeb commit 1c3934a

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)