Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: ELSE gets removed from CASE statement inside function #916

Open
quassy opened this issue Nov 1, 2024 · 0 comments
Open

Bug: ELSE gets removed from CASE statement inside function #916

quassy opened this issue Nov 1, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@quassy
Copy link

quassy commented Nov 1, 2024

What Happened

ELSE option is removed from CASE statement

CREATE OR REPLACE FUNCTION get_grade(
    percentage FLOAT64
)
RETURNS STRING
AS (
    CASE
        WHEN percentage > 80 THEN 'A'
        WHEN percentage > 40 THEN 'B'
    END
);

Expected Behaviour

ELSE option should be kept

CREATE OR REPLACE FUNCTION get_grade(
    percentage FLOAT64
)
RETURNS STRING
AS (
    CASE
        WHEN percentage > 80 THEN 'A'
        WHEN percentage > 40 THEN 'B'
        ELSE 'C'
    END
);

How to reproduce

CREATE OR REPLACE FUNCTION get_grade(
    percentage FLOAT64
)
RETURNS STRING 
AS (
    CASE
        WHEN percentage > 80 THEN 'A'
        WHEN percentage > 40 THEN 'B'
        ELSE 'C'
    END
);

Configuration

[sqruff]
dialect = bigquery
rules = all

At least in playground I could not even get a simple SELECT CASE to return anything:

    select CASE
        WHEN percentage > 80 THEN 'A'
        WHEN percentage > 40 THEN 'B'
        ELSE 'C'
    END as grade
    from table;

image

@benfdking benfdking added the bug Something isn't working label Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants