Yii框架 - Mssql不正确的支架位置

时间:2013-05-07 15:56:00

标签: php sql-server-2008 yii

使用查询构建器时,我在使用Mssql 2008和Yii Framework时出现了一些问题,但支架位置不正确。

$queryCommand = Yii::app()->db->createCommand();
$selectArray = array();
$selectArray[] = 't.id';
$selectArray[] = "CASE t.description  WHEN '' THEN t.name ELSE t.name + ' : ' + t.description END AS text";
$queryCommand->select($selectArray);
$queryCommand->from("table t");

我得到一个奇怪的查询字符串。

SELECT [t].[id], [CASE] AS [t].[description  WHEN '' THEN t].[name ELSE t].[name + ' : ' + t].[description END AS text]
FROM [table] [t]

有没有更好的方法来处理此案?

如果我在t.description中添加SUBSTRING函数,则不会添加括号。

$queryCommand = Yii::app()->db->createCommand();
$selectArray = array();
$selectArray[] = 't.id';
$selectArray[] = "CASE t.description  WHEN '' THEN t.name ELSE t.name + ' : ' + SUBSTRING(t.description,0,30) END AS text";
$queryCommand->select($selectArray);
$queryCommand->from("table t");

我得到了

SELECT [t].[id], CASE t.description WHEN '' THEN t.name ELSE t.name + ' : ' +    SUBSTRING(t.description,0,30) END AS text
FROM [table] [t]

0 个答案:

没有答案