[英]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期望文字值的地方,而不是另一列。 您可以通過whereRaw或DB :: 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.