我正在使用Zend Framework。我想从数据库中获取记录而不考虑区分大小写。
这是我的人员表:
Id|Name |Gender|Occupation
-----------------------------------
1 |Naveed|Male |Software Engineer
-----------------------------------
2 |Ali |Male |Software Developer
现在如果我使用以下字符串在where子句中使用'Occupation'搜索上表中的记录,它应该总是返回记录号1(Naveed的记录)。
Software Engineer
software engineer
SoFtwarE EngIneeR
SOFTWARE ENGINEER
我正在使用以下方式从Zend中的数据库中获取记录。
$occupation = "Software Engineer";
$table = new Model_Person_DbTable();
$select = $table->select();
$select->where( 'Occupation = ?', $occupation );
$rows = $table->fetchAll( $select );
现在如何为我的场景更改上面的zend代码?
我可以创建一个逻辑来忽略区分大小写的外部数据库查询,但我想知道如果Zend / SQL中有任何方法可以在查询中处理这个问题。
由于
答案 0 :(得分:7)
尝试
$select->where( 'upper(Occupation) = upper(?)', $occupation );
这将使列中的值和搜索值为大写