我正在尝试将我们的遗留函数转换为标准 SQL,因此通过使用 UDF 作为 gig 来重用旧函数名称和本机函数。
在这里,我有我的 UDF to_char 并在内部使用参数来运行 FORMAT_DATE 但是当我执行它时,即使创建了一个例程,我也会收到没有其他信息的错误。一旦创建了例程并注释掉代码,错误就会出现,因为找不到函数 to_char
如果我运行 aCREATE TEMP FUNCTION
我会得到很长的加载时间(大约 30 - 90 秒),这显然是不对的。
CREATE OR REPLACE FUNCTION mytable.TO_CHAR(dstamp DATETIME, fmt STRING)
RETURNS STRING AS
(
FORMAT_DATE(fmt, dstamp)
);
SELECT
TO_CHAR(End_Time, 'yyyy-mm') AS Month_and_Year,
我不想创建临时函数。理想情况下,我希望有一个例程,我可以在需要时继续调用,但我的 UDF 和 FORMATE_DATE 函数搞砸了。任何帮助将不胜感激,谢谢!
顺便说一句,在 GBQ 中运行它。