Snowflake 中的数据类型与函数
Jake Roach
Field Data Engineer
将复杂逻辑"打包"为单个可复用函数
$$
$$
$$
……一起来细看!

SELECT
first_name, last_name, school_name,
CONCAT(
first_name,
'.',
last_name,
'@',
school_name,
'.com'
)
FROM STUDENTS.personal_info;
SELECT first_name, last_name, school_name,-- 可复用,易读 build_email_address( first_name, last_name, school_name ) AS email_addressFROM STUDENTS.personal_info;
CREATE OR REPLACE FUNCTION <name> (-- 指定参数和类型 <arg1> <type1>, <arg2> <type2>, ... )RETURN <type> -- 声明返回类型AS $$ -- 在此定义函数 $$
$$
$$
CREATE OR REPLACE FUNCTIONRETURN 类型$$ ... $$ 中定义逻辑!CREATE OR REPLACE FUNCTION build_email_address(first_name TEXT, last_name TEXT, school_name TEXT)RETURN TEXTAS $$ CONCAT(LOWER(first_name), '.', LOWER(last_name), '@', LOWER(school_name), '.com') $$;
SELECT
first_name, last_name, school_name,
build_email_address(first_name, last_name, school_name) AS email_address
FROM STUDENTS.personal_info;
first_name | last_name | school_name | email_address
------------ | ----------- | ------------- | ----------------------------
Ryan | Cohen | Harvard | [email protected]
Tatiana | Doyle | Stanford | [email protected]
Pankaj | Pandey | MIT | [email protected]
Jake | Roach | Purdue | [email protected]
Snowflake 中的数据类型与函数