Suppose you usually manage different measure units of beer and you want to make a function to uniform all the amount of beer in your table.

For this purpose, you can make a user-defined function directly in Snowflake using Javascript language.

You can use the following query to define the function:

CREATE OR REPLACE FUNCTION PintToMilliliters(PintValue double, PintType string )
    RETURNS double
    LANGUAGE javascript
    AS
    $$
    /*
    *  convert given Pint value in milliliters
    */
    var PINT_U =  PINTTYPE.toUpperCase();
    switch(PINT_U) {
    case 'IMPERIAL PINT':
        return(PINTVALUE * 568.26125)
        break;
    case 'ROYAL PINT':
        return(PINTVALUE * 952)
        break;
    case 'SCOTTISH PINT':
        return(PINTVALUE * 1696)
        break;

    default:
        return null;
        break;
    }
  $$;
Snowflake snippet 24
SELECT PintToMilliliters(10, 'Imperial Pint');
Snowflake snippet 25
SELECT PintToMilliliters(10, 'Scottish Pint');
Snowflake snippet 26
SELECT PintToMilliliters(10, 'UK Pint');
Snowflake snippet 27