如何使用列名称LIKE

ArK*_*ArK 44 mysql sql

通常LIKE语句用于检查模式之类的数据.

例如:

select * from table1 where name like 'ar%'
Run Code Online (Sandbox Code Playgroud)

我的问题是使用LIKE语句的一列表.

例如:

select * from table1, table2 where table1.x is like table2.y%
Run Code Online (Sandbox Code Playgroud)

查询上面的结果错误.如何在类似查询中使用一列数据?

Mat*_*lie 61

你很亲密

LIKE运算符使用字符串(CHAR,NVARCHAR等).所以你需要将'%'符号连接到字符串......

MySQL服务器:

SELECT * FROM table1,table2 WHERE table1.x LIKE table2.y + '%'
Run Code Online (Sandbox Code Playgroud)

但是,使用LIKE通常比其他操作慢.它有用,强大,灵活,但具有性能考虑因素.我会把那些留给另一个话题虽然:)

  • 知道您是从“您很亲近”开始回答的,这与大多数自欺欺人的人不同,他们不愿劝阻pple。发射 (3认同)

小智 29

SQL SERVER

 WHERE ColumnName LIKE '%'+ColumnName+'%'
Run Code Online (Sandbox Code Playgroud)

  • 感谢您在SQL SERVER中回答这个问题.尽管@ caitriona的评论,人们实际上正在使用其他数据库,可能已经通过使用谷歌找到了这篇文章 (10认同)

Tom*_*lak 5

...
WHERE table1.x LIKE table2.y + '%'
Run Code Online (Sandbox Code Playgroud)


小智 5

ORACLE 数据库示例:

select * 
from table1 t1, table2 t2
WHERE t1.a like ('%' || t2.b || '%')
Run Code Online (Sandbox Code Playgroud)