为什么这条sql语句搜索不出结果呢?
SELECT * FROM person WHERE CONCAT(ID,'PASSWD','AUTHORITY','NAME','SEX','BIRTHDAY','DEPARTMENT','JOB','EDU_LEVEL','SPECIALTY',
'ADDRESS','TEL','EMAIL','STATE','REMARK') LIKE '%办公室%'
结果如下图:
SELECT * FROM person WHERE CONCAT(ID,PASSWD,AUTHORITY,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,
ADDRESS,TEL,EMAIL,STATE,REMARK) LIKE '%办公室%'
ID,PASSWD,AUTHORITY,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,
ADDRESS,TEL,EMAIL,STATE,REMARK这些字段要有值
CONCAT 是拼接字符串;
你在 where 后面拼接 id + "其他字段" liken '办公室' 肯定查不到数据。 只有ID是动态的, 其他 加 ‘’ 都是字符串
你这要是个大表,这么干不担心性能问题么?你先想清楚“办公室”存在于那些字段吧,别一股脑的全字段拼接检索。像ID、SEX、TEL、EMAIL、STATE等字段明显不可能存“办公室”这些内容。
你先搞清楚CONCAT是什么,在说为什么搜不出结果