繁体   English   中英

在SQL / Laravel中使用“ LIKE”运算符比较两列

[英]Compare two columns with 'LIKE' Operator in SQL / Laravel

我正在尝试比较表中的两列。 我必须在其中检查电子邮件中是否包含他的手机号码。

TableName:- Table1
TableColumns:- id,email,MOB

防爆。

SQL:

 'SELECT * FROM Tabel1 WHERE email LIKE %MOB%'

Laravel:

Tabel1::whereColumn('email', 'LIKE','%MOB%')->get();

我已经尝试过以上查询,但是它显示语法错误。

让我们从回答您的SQL问题开始,引号中的任何内容都是SQL的文字,因此您需要使用列引用并添加通配符。 您可以这样做:

SELECT * FROM Table1 WHERE email LIKE CONCAT('%', MOB, '%');

现在让我们看一下Laravel,第3个参数是where期望文字值的地方,而不是另一列。 您可以通过whereRawDB :: raw克服此问题:

Table1::whereRaw("email LIKE CONCAT('%', MOB, '%')");

要么

Table1::where('email', 'LIKE', DB::raw("CONCAT('%', MOB, '%')"));

你应该试试这个

SELECT * FROM Tabel1 WHERE email LIKE '%' +MOB+'%'
SELECT * FROM `table` WHERE `email` LIKE '%MOB%';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM