You are here

24 表达式

admin 的头像
Submitted by admin on 星期五, 2015-06-05 06:41

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

    选择查询构建器支持在字段列表中使用表达式。表达式的例子包括“年龄字段的两倍”,“所有名字字段的总计”,或者是标题字符串的一个子集字符串。注意,很多表达式使用SQL函数,并不是所有的函数都可以跨数据库。因此模块开发者,需要自己确保只使用跨数据库的表达式。相关信息可参考:http://drupal.org/node/773090

    为了向一个查询添加表达式,可以使用addExpression()方法。

<?php
$count_alias $query->addExpression('COUNT(uid)''uid_count');
$count_alias $query->addExpression('created - :offset''uid_count', array(':offset' => 3600));
?>

    上面的第一行,将会向查询中添加"COUNT(uid) AS uid_count"。第二个参数是字段的别名。在个别情况下,别名已被使用,此时将会生成一个新的别名,而addExpression()的返回值将会是正被使用的别名。如果没有指定别名,将会生成一个默认的"expression" (或者 expression_2 expression_3 等等。)

    第三个参数,是一个可选的关联数组,里面包含了供表达式使用的占位符的值。

    注意,有些表达式,只在Group By语句存在的情况下才起作用。对于查询本身的有效性,需要程序员自己来确保。


Drupal版本: