21

間に空白を入れて 2 つの列を連結しようとしたところ、照合エラーが発生しました。

SELECT DISTINCT
    p.PERSON_ID,
    p.ID_NUMBER,
    CONCAT(p.FULLNAMES, CONCAT(' ', p.SURNAME)) AS NAME,
    o.ORG_NAME,
    w.WARD_DESCRIPTION AS WARD,
    ess.DESCRIPTION AS SECTOR

連結操作で "SQL_Latin1_General_CP1_CI_AS" と "Latin1_General_CI_AS" の間の照合の競合を解決できません

私のデータベースの問題のある列の両方の照合は次のとおりです。Latin1_General_CI_AS

それで、空白をこの照合に照合しようとしましたが、これを行う方法がわかりません。私の試み:

CONCAT(p.FULLNAMES, (CONCAT((COLLATE Latin1_General_CI_AS = ' '), p.SURNAME))) AS NAME,

か何か?

4

3 に答える 3

19

各フィールドの後に COLLATE を配置します。つまり、最悪のシナリオでは次のようになります。

SELECT DISTINCT
    CONCAT(p.FULLNAMES COLLATE Latin1_General_CI_AS, 
      (CONCAT(' ' COLLATE Latin1_General_CI_AS, 
          p.SURNAME COLLATE Latin1_General_CI_AS))) AS NAME
FROM Person p
于 2014-05-15T08:42:58.793 に答える