簡體   English   中英

比較SQL中兩列的問題

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

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