Where查询条件中能用函数吗?

SELECT id, name FROM books where instr('aaaaaITbbbbb',name)>0;
我从程序外部提供一个字符串如'aaaaaITbbbbb',然后查找数据库中该字符串包含name的数据。数据库里的确有数据name=‘OK’,但是为什么不能返回数据。
MySQL文档中说instr的第一个参数为字段名,我写在第二个参数难道不行吗?
如果不行,那应该怎么样写查询语句?高手指点。

作者: happyusermhx   发布时间: 2011-05-16

SQL code
SELECT id, name FROM books where instr(name,'aaaaaITbbbbb')

作者: mr_mablevi   发布时间: 2011-05-16

引用 1 楼 mr_mablevi 的回复:
SQL code
SELECT id, name FROM books where instr(name,'aaaaaITbbbbb')

我想把name作为子字符串使用。

作者: happyusermhx   发布时间: 2011-05-16

SELECT id, name FROM books where instr('aaaaaITbbbbb',name)

作者: ACMAIN_CHM   发布时间: 2011-05-16

引用Where查询条件中能用函数吗?
当然能!

作者: ACMAIN_CHM   发布时间: 2011-05-16

能,必须的。

作者: iihero   发布时间: 2011-05-16

引用 3 楼 acmain_chm 的回复:
SELECT id, name FROM books where instr('aaaaaITbbbbb',name)

SELECT id, name FROM books WHERE instr( name, 'OK' ) ;
SELECT id, name FROM books WHERE instr( 'OK', name ) ;
数据库中有一条记录OK,但是为什么这两条语句执行结果不一样

作者: happyusermhx   发布时间: 2011-05-16