用'比较两列;比如';SQL/Laravel中的运算符

用'比较两列;比如';SQL/Laravel中的运算符,sql,laravel,Sql,Laravel,我试图比较表中的两列。其中我必须检查电子邮件是否包含他的手机号码 TableName:- Table1 TableColumns:- id,email,MOB 前 SQL: 拉雷维尔: Tabel1::whereColumn('email', 'LIKE','%MOB%')->get(); 我已经尝试了上面的查询,但它显示了语法错误。让我们从回答问题开始,在SQL方面,引号中的任何内容都是SQL的文本,因此您需要使用列引用并添加通配符。您可以这样做: SELECT * FROM Tab

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

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

SQL:

拉雷维尔:

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

我已经尝试了上面的查询,但它显示了语法错误。

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

SELECT * FROM Table1 WHERE email LIKE CONCAT('%', MOB, '%');
现在让我们看一下Laravel Now,第三个参数,其中需要一个文本值,而不是另一列。您可以通过whereRawDB::raw克服此问题:

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


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

SELECT * FROM Table1 WHERE email LIKE CONCAT('%', MOB, '%');
现在让我们看一下Laravel Now,第三个参数,其中需要一个文本值,而不是另一列。您可以通过whereRawDB::raw克服此问题:

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

你应该试试这个

SELECT * FROM Tabel1 WHERE email LIKE '%' +MOB+'%'
你应该试试这个

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

错误代码是什么?语法错误或访问冲突:1064您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解第1行“%”附近要使用的正确语法错误代码是什么?语法错误或访问冲突:1064您的SQL语法有错误;请检查对应于MySQL服务器版本的手册,以便使用正确的语法,在行1'附近使用“%1”。请考虑添加一些细节,说明为什么您认为您的答案可以帮助选择,请考虑为您认为答案可以帮助Opin %Mb%%添加更多细节。MOB将被视为字符串而不是列。在“%MOB%”中,MOB将被视为字符串而不是列。