【发布时间】:2011-03-09 05:08:59
【问题描述】:
是否可以选择列并对它们进行复杂的操作,例如select factorial(column1) from table1 或select integral_of(something) from table2
也许有支持此类操作的库?
【问题讨论】:
标签: mysql sql-server oracle
是否可以选择列并对它们进行复杂的操作,例如select factorial(column1) from table1 或select integral_of(something) from table2
也许有支持此类操作的库?
【问题讨论】:
标签: mysql sql-server oracle
是的,是的。如果您想要的函数没有内置到您的 RDBMS 中,您可以编写自己的用户定义函数。
您可以在此处找到一个示例:http://www.15seconds.com/Issue/000817.htm。
【讨论】:
是的,您可以在选择列上调用数据库的所有预定义函数,并且可以使用CREATE FUNCTION 定义自己的函数。
但是数据库是用来处理大量数据的,而不是对它们进行复杂的计算。如果您尝试这样做,您会发现许多操作非常缓慢(尤其是用户定义的操作)。
这就是为什么大多数人从数据库中获取数据,然后在应用程序端进行复杂的数学运算。这也使得测试和优化代码或将其替换为新版本变得更加简单。
【讨论】: