我正在研究如何在雪花中使用SQL。这是快照:
这是这里使用的代码:
use schema SNOWFLAKE_SAMPLE_DATA.TPCH_SF1;
--use schema SNOWFLAKE_SAMPLE_DATA.TPCH_SF10;
select *
from LINEITEM
limit 200
您可以看到该表包含两个字段:L_LINENUMBER,L_QUANTITY。现在,我想尝试一个用户定义的函数,该函数可以执行以下操作:
如何使用创建功能执行此操作。我已经阅读了很多有关create函数的示例。但是我就是不明白这一点。也许是因为我不擅长SQL。那么,谁能给我一个包含所有细节的综合例子?
答案 0 :(得分:1)
我知道您的问题与UDF有关,但是在这里将UDF用于您的目的实在是太过分了。
您可以使用以下语句在表中增加属性。
SELECT
L_LINENUMBER+1 as L_LINENUMBER1
FROM LINEITEM;
要计算表中属性的平均值,您应该理解这是一个聚合函数,仅当与group by语句结合使用时才有意义。数据示例如下所示。
SELECT
AVG(L_QUANTITY) AS L_QUANTITY1
FROM LINEITEM
GROUP BY L_ORDERKEY;
由于您的问题最初是关于UDF的,并且您似乎遵循了Snowflake的示例数据,因此它们提供的示例是以下UDF,它接受开氏温度并将其转换为华氏度(从定义中您可以看到,可以应用于任何数字类型的属性。
CREATE OR REPLACE FUNCTION
UTIL_DB.PUBLIC.convert_fahrenheit( t NUMBER)
RETURNS NUMBER
COMMENT='Convert from Kelvin from Fahrenheit'
AS '(t - 273.15) * 1.8000 + 32.00';