BigQuery创建函数含无效字符“-”报错的解决方法
解决函数名含“-”的报错问题
当你执行CREATE FUNCTION name-name时报错,是因为SQL里“-”属于减号运算符,系统会把name-name错误解析成name - name(两个标识符做减法运算),自然不允许这么定义函数名。解决方法有两种:
用标识符限定符包裹函数名:不同数据库的限定符规则不同,对应写法如下:
- MySQL/MariaDB:用反引号包裹函数名
CREATE FUNCTION `name-name` () -- 此处编写函数体内容 - PostgreSQL、SQL Server:用双引号包裹函数名
CREATE FUNCTION "name-name" () -- 此处编写函数体内容 - Oracle:用双引号包裹函数名,但要注意,双引号包裹后的标识符会区分大小写
CREATE FUNCTION "name-name" () -- 此处编写函数体内容
- MySQL/MariaDB:用反引号包裹函数名
修改函数名替换特殊字符:把“-”换成下划线“_”,比如改成
name_name,这种命名方式符合SQL常规标识符规则,后续操作也不会再遇到类似的符号解析问题。
内容的提问来源于stack exchange,提问作者le Minh Nguyen
相关产品推荐
相关产品推荐

