是否可以选择列并对其执行复杂操作,例如select factorial(column1) from table1
或select integral_of(something) from table2
也许有支持此类操作的库?
答案 0 :(得分:11)
是的,您可以在选择列上调用数据库的所有预定义函数,然后使用CREATE FUNCTION
定义自己的函数。
但是数据库意味着涉及大量数据,而不是对它们进行复杂的计算。如果你试试这个,你会发现许多操作非常慢(特别是用户定义的操作)。
这就是为什么大多数人从数据库中获取数据然后在应用程序端进行复杂数学运算的原因。这也使得测试和优化代码或用新版本替换代码变得更加简单。
答案 1 :(得分:3)
是的,确实如此。如果您想要的功能没有内置到您的RDBMS中,您可以编写自己的用户定义函数。
你会在这里找到一个例子:http://www.15seconds.com/Issue/000817.htm。