簡體   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