使用查询构建器时,我在使用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]