$sql = "SELECT `prod_id` AS `id` , LOWER( `prod_iso_code_5` ) AS `prod_code` FROM `prod_data`";
我有这段代码,虽然文档告诉你在大多数情况下该做什么,但是当你有一个带有字符串作为参数的SQL函数时,他们不会告诉你该怎么做。
我做了以下认为这会有效,但由于文档没有涵盖所有情况,我不是100%肯定。以下命令是否有效?
$result = $this->mydb->createcommand()
->select(array('prod_id AS id', 'LOWER("prod_iso_code_5") as prod_code')
->from('prod_data')
->queryAll();
答案 0 :(得分:1)
它不会输出您期望的内容。因为在查询构建器中,您使用了“prod_iso_code_5”作为字符串。哪个被评估为LOWER()函数的字符串。如果你想要小写查询中给出的prod_data.product_iso_code_5
列的值,你只需要使用product_iso_code_5
或在`(反引号)字符中包装列名
$result = $this->mydb->createcommand()
->select(array('prod_id AS id', 'LOWER(`prod_iso_code_5`) as prod_code')
->from('prod_data')
->queryAll();