[英]Problem with comparing two columns in SQL
我正在嘗試做的事情。 我想確認 A 列中的IvanIvanov對應於 B 列中的IvanIvanov _32_y1988_12。我不知道如何從 B 列中提取IvanIvanov並將其與 A 列進行比較。我嘗試了幾件事但沒有成功。
然后我想將列 C y1988_12與列 B IvanIvanov_32_ y1988_12 的一部分進行比較。
數據庫管理系統
預先感謝您的幫助。
表表示:
一種 | 乙 | C |
---|---|---|
伊萬·伊萬諾夫 | IvanIvanov_32_y1988_12 | y1988_12 |
您想知道如何從 B 中提取兩個子字符串。您不必這樣做。 您只想知道 B 是以子串 A 和 C 開頭還是結尾。這里最簡單的方法可能是LIKE
。 我假設您的 DBMS 是 MySQL 或 MariaDB,用於上述函數SUBSTRING_INDEX
。
使用 MySQL 的CONCAT
函數:
select
b like concat(a, '%') as b_starts_with_a,
b like concat('%', c) as b_ends_with_c
from mytable;
或者使用標准的 SQL 連接運算符:
select
b like a || '%' as b_starts_with_a,
b like '%' || c as b_ends_with_c
from mytable;
這在匹配的情況下為您提供 true / 1,在不匹配的情況下為您提供 false / 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.