我有以下函数将任何字符串转换为标题大小写:
CREATE OR REPLACE FUNCTION udf.title_case(str STRING)
RETURNS STRING
LANGUAGE js AS """
return str
.replace(/([^\\W_]+[^\\s-]*) */g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();})
""";
更新:
我修复chartAt
并charAt
仍然得到同样的错误
它会产生以下错误:
"project.dataset.charAt" is not a function at UDF$1(STRING) line 3, columns 110-111
[]
我可以通过使用不理想的表示法绕过这个错误,但是我遇到了同样的错误substr
。
我通常在 JSBin 或类似工具中测试我的函数并且工作正常,但是当将其转换为 Bigquery 时,我需要\
在正则表达式中转义,然后处理这些突然出现的错误。
对于那些没有 JS 编程艺术经验的人来说,这会让他们的生活变得更加艰难。
在此先感谢您的帮助。