SQLite中标量SQL函数与聚合SQL函数的区别
Difference between scalar SQL functions and aggregate SQL functions in SQLite
SQLite中标量SQL函数和聚合SQL函数的确切区别是什么?
当尝试在SQLite中创建一个新函数时,我遇到了以下代码的问题:
int sqlite3_create_function(
sqlite3 *db,
const char *zFunctionName,
int nArg,
int eTextRep,
void *pApp,
void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
void (*xStep)(sqlite3_context*,int,sqlite3_value**),
void (*xFinal)(sqlite3_context*)
);
对于标量SQL函数,xStep
和xFinal
必须为空,对于聚合SQL函数,xFunc
必须为空。
标量函数是操作标量值的函数——也就是说,它直接接受一个(或多个)输入值作为参数并返回一个值。
aggregate函数是对聚合数据进行操作的函数——也就是说,它接受完整的数据集作为输入,并返回从该集合中的所有值计算得出的值。顺便说一下,这些是"标量"answers"聚合"的标准定义,你可以在任何字典中找到,如果你搜索"标量函数"answers"聚合函数",所有这些链接都在谷歌搜索结果的前五名。没关系,我们希望StackOverflow成为这类问题的"权威"答案,但出于"教人钓鱼"的兴趣,我觉得有必要提醒你,在让别人帮助回答你的问题之前,你应该做自己的功课。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 在 Microsoft Access SQL 中调用自定义 DLL 函数时传递的内存地址无效
- sql记录集函数的状态设计模式
- SQL函数在包含后找不到
- Qt在不在主类中的函数中执行SQL命令
- 在 qt 中执行自己的 sql 函数
- 这是通用 SQL 执行函数的安全实现吗?
- 如何在SQL中创建类似DECODE函数的c++宏
- SQLite中标量SQL函数与聚合SQL函数的区别
- sql server 2008-如何使用ADO从c++调用用户定义的函数
- 无法使用用户定义的函数执行sql查询