你看,我有一组条目要按字母顺序排列。虽然有些条目以" the“开头。我想要的是忽略" the“,开始从下一个单词中排序。例如:
$titles->order_by("name", "ASC")->find_all() // Sample query我想要的:
中的" the“
我真正想要的“
我怎么能在这里做到这一点?
$titles->order_by("name", "ASC")->find_all();如果没有,你会有什么建议?
我有一个强烈的预感,使用REGEX将达成交易。虽然我不知道如何不进入软件级别。
我使用Kohana 3 ORM,直到上个月才开始使用。手下留情。
非常感谢。
发布于 2010-10-25 06:05:45
您可以使用条件select和substring函数;这些函数的确切名称可能因您使用的方言而异。在Transact-SQL中:
select if( left(name,3)='The', SUBSTRING(name,5), name) as name
from table
order by name另一种方法是:使用条件查找“the”部分,并将其替换为空字符串:
select TRIM(
if(INSTR(shipnam,'The ') > 0, INSERT(shipnam,INSTR(shipnam,'Hyundai'),4,''),
if(INSTR(shipnam,' The ') > 0, INSERT(shipnam,INSTR(shipnam,'Hyundai'),5,''),shipnam))
)
as shipname from tablename order by shipname根据列和表名更改。
https://stackoverflow.com/questions/4011799
复制相似问题