龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

巧解如何编写可重用的MySQL查询(1)(2)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
二、关于MySQL内置函数 GROUP_CONCAT()函数可以用来聚集表中的所有行,并返回组成交叉表水平轴的SELECT列表。实际上,这使得将交叉表的选择语句移植到存储

二、关于MySQL内置函数
GROUP_CONCAT()函数可以用来聚集表中的所有行,并返回组成交叉表水平轴的SELECT列表。实际上,这使得将交叉表的选择语句移植到存储过程中成为可能。其他的函数,如Count()、Month()和MonthName(),以及过滤语句,如CASE WHEN ELSE,都可以让我们的代码更具通用性。

三、建立自己的函数
如果在MySQL内建的函数中没有我们所想要的,那么我们不妨自己动手,丰衣足食。 在编写自己的函数的时候,一定要考虑到该函数的通用性。

下面是一个示例函数,用来检查是否指定了强制性的存储过程参数。这里不允许使用空行或者空白符,所以该函数将进行相应的检查:

BEGIN
DECLARE isEmpty TINYINT;

SET isEmpty = (param_name IS NULL or char_length(trim(param_name)) = 0);

RETURN isEmpty;

END


注意,在我们的函数中调用了内建的两个函数,即char_length()和trim()。现在,我们总能够将其作为一个通用函数使用了。

需要提示的是,在我们编写自己的函数之前,最好先在网上搜索一下,看看别人是否已经做过这项工作了,免得重复相同的工作。这时,我们要特别留意那些MySQL函数仓库站点,如www.mysqludf.org,我们很可能在这里找到所需的函数。


精彩图集

赞助商链接