본문 바로가기
개발/DB

[예제로 배우는 MS-SQL] 전각스페이스를 이용해서 이름 비교하는 SQL

by 마메의여행기 2010. 7. 15.

全角空文字を利用して、名字だけ比較するSQL


1. TB_A
TB_BをJOINする
2. JOIN条件はTB_AのNameカラムとNameカラムとTB_BのNameカラムの名字が同じものにする
3. 名字の区別方法
  ① Nameカラムのデータの中で全角空文字が入っていれば人の名前と見なし、
     全角空文字の前の部分だけ比較対象にする

  ② Nameカラムのデータの中で全角空文字が入ってなければデータ全部を比較対象にする(例ー会社名)

SELECT
  *
FROM
  TB_A
  LEFT OUTER JOIN TB_B ON
 Reverse(Substring(Reverse(TB_A.Name), Charindex(' ', Reverse(TB_A.Name))+1, Len(TB_A.Name))) =
   Reverse(Substring(Reverse(TB_A.Name), Charindex(' ', Reverse(TB_A.Name))+1, Len(TB_A.Name)))