[英]Compare values of two columns
有沒有一種方法可以比較MySQL中兩列的值? 例如,如果我有一張桌子:
+----------------+
| Col1 | Col2 |
|----------------|
| abc | 123abc |
| def | 234def |
| | 123ghi |
+----------------+
我想檢索Col2
中包含Col1
值的所有條目:
+---------+
| NewCol |
|---------|
| 123abc |
| 234def |
+---------+
我將如何處理?
這是一個偽查詢來進一步解釋。
SELECT Col2 FROM TableName WHERE Col2 LIKE Col1;
使用LOCATE()
WHERE LOCATE(Col1, Col2);
如果Col1
包含在Col2
則它返回一個非零值。
請注意,一個空的子字符串總是包含在另一個字符串中,因此在這種情況下,您需要另一個條件:
WHERE LENGTH(Col1) AND LOCATE(Col1, Col2);
SELECT Col2 FROM TableName WHERE Col2 in(SELECT Col1 from TableName);
SELECT Col2 FROM TableName WHERE Col2 LIKE Concat("%",Col1,"%");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.