簡體   English   中英

比較兩列的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM