SQL サーバー - 漢字に基づく SQL 結合

okwaves2024-01-25  7

結合するテーブルが 2 つありますが、2 つの列に漢字が含まれているため、t1.term = t2.term は機能しません。

select * 
from table t1
left join table t2 on t1.term = t2.term
N'%'+ t1.term '%' のように検索する必要があったとき、「N」は機能しましたが、結合 t1.term = t2.term で実装する方法が見つかりませんでした。

1

データと結果の例を提供してください。漢字が含まれているだけでは、等価比較が機能しないというわけではありません。値にいくつかの違いがあるはずです (あるいは、強制的に照合する必要があるかもしれませんが、私はそうではありません)後者についてはよく知っています)。

– underscore_d

2020 年 9 月 3 日 10:39



------------------------

on 句に like 式を入れることができます。

select *
from table t1 left join
     table t2
     on t2.term like N'%' + t1.term + N'%';

これによりパフォーマンスが低下することに注意してください。



------------------------

私の知る限り、テーブル (/databases/schemas) が同じ照合順序を使用している場合、照合順序はコンテンツに適しており、テキストは正確です同様に、これは機能するはずです。

テーブル、データベース、スキーマの照合定義をチェックし、その定義が同じであり、テキスト コンテンツに適していることを確認してください。照合が鈍感であればあるほど、相違点がより寛大になります。テキスト対テキスト、テキスト対テキストなど

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。