Zend: Как извлечь запись из базы данных без учета регистра?


Я использую Zend Framework. Я хочу извлечь запись из базы данных без учета регистра.

Это моя личная таблица:

Id|Name  |Gender|Occupation
-----------------------------------
1 |Naveed|Male  |Software Engineer
-----------------------------------
2 |Ali   |Male  |Software Developer

Теперь, если я использую следующие строки для поиска записи в приведенной выше таблице, используя "Занятие" в предложении where, она всегда должна возвращать запись номер 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 какой-либо способ решить эту проблему в запросе.

Спасибо

Author: Naveed, 2010-02-03

1 answers

Попробуйте

$select->where( 'upper(Occupation) = upper(?)', $occupation ); 

Это сделает значения в столбце и значение поиска прописными

 7
Author: Gordon, 2010-02-03 08:06:56