[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-17 UTC."],[[["User-defined functions (UDFs) allow you to create custom functions using SQL expressions or JavaScript code to process input columns and return values, and can either be persistent or temporary."],["Persistent UDFs can be reused across multiple queries and are safe to share between owners, while temporary UDFs are confined to the scope of a single query and expire when the query finishes."],["SQL UDFs can utilize templated parameters to accommodate various argument types and can also return the value of a scalar subquery, but must include the project ID in references to BigQuery entities unless they reside in the same project."],["JavaScript UDFs enable the execution of JavaScript code within SQL queries, supporting several BigQuery data types mapped to JavaScript equivalents, but it's often more optimal to use standard SQL queries if the function can be expressed in SQL, since JavaScript UDFs consume more resources."],["Custom masking routines, for data governance, can be created using SQL UDFs with specific limitations and requirements, including a `data_governance_type` option set to `DATA_MASKING` and restrictions on the types of functions and data types that can be utilized."]]],[]]