解析器解析内置函数名称的默认规则是什么?

mysqlmysqli database更新于 2024/3/12 19:59:00

实际上,当解析器遇到内置函数名称的单词时,它必须确定该名称是代表函数调用还是对标识符(如表或列名)的非表达式引用。考虑以下查询 −

1. Select sum(salary) from employee;
2. Create table sum (i int);

在第一个查询中,SUM 是对函数调用的引用,而在第二个查询中,它引用了表名。

解析器遵循以下规则来区分它们的名称是用作函数调用还是非引用上下文中的标识符 −

  • 规则 1 −若要将名称用作表达式中的函数调用,名称与后面的 ( 括号字符 ) 之间不得有空格。
  • 规则 2 − 相反,若要将函数名称用作标识符,其后不能紧跟括号。

相关文章