【Data Platform】/⤷ SQL, T-SQL

[2k] COLLATE 변경 예 및 Collation 유형

디비랑 2008. 9. 7. 00:39
  1. /**********************************************************************************************
    -- Title : [2k] COLLATE 변경 예 및 Collation 유형
    -- Reference : dBRang.com
    -- Key word : collate, collation
    **********************************************************************************************/
    /*******************
    -- COLLATE 변경 예
    *******************/
    --sample1)
    SELECT Col1, Col2 FROM Korea
    UNOIN ALL
    SELECT Col1 COLLATE Korean_Wansung_ci_as, Col2 COLLATE Korean_Wansung_ci_as
    FROM Japan

    --sample2)
    SELECT *
    FROM TestTab
    WHERE GreekCol = LatinCol COLLATE greek_ci_as

    --sample3)
    SELECT
      id           COLLATE Korean_Wansung_ci_as
    , password     COLLATE Korean_Wansung_ci_as
    , can_use    
    , downloadtype
    , site
    FROM member

    UNION ALL

    SELECT id, password, can_use, downloadtype, site
    FROM loginsrv.login.dbo.member;

    --sample4)
    -- 쿼리를 돌리는 로컬 서버의 collate가 Japanese_CI_AS일때...
    -- 원격의 collate만 적용해 주면 된다.
    -- 조인 조건에서는 on절에서면 적용하면 되었다.
    SELECT b.COLLECTION
         , A.CODE
    FROM DBUpdateJP as [A]
    inner join LOGINSRV.WIPS_BOARD.DBO.TN04_DBUpdateKOR as [b]
    on a.code  = b.code  COLLATE Korean_Wansung_CI_AS

    --주)
    --단 COLLATE 절은 char, varchar, text, nchar, nvarchar, ntext 데이터 형식에만 적용될 수 있다.
     
    /*******************
    -- COLLATE 유형
    *******************/
    /* 비교유형
    - CI : 대소문자 구분 안함 (Case Insensitive)
    - CS : 대소문자 구분 (Case Sensitive)
    - AI : 액센트 구분 안함
    - AS : 액센트 구분
    - KS : 가나유형 구분
    - WS : 폭 구분
    - BIN : 바이너리 소트 순서
    */

    --데이터 정렬 변경
    --ALTER TABLE 문을 사용하여 열의 데이터 정렬을 변경할 수 있습니다.

    CREATE TABLE MyTable
      (PrimaryKey   int PRIMARY KEY,
       CharCol      varchar(10) COLLATE French_CI_AS NOT NULL
      )
    GO

    ALTER TABLE MyTable
    ALTER COLUMN CharCol varchar(10) COLLATE Latin1_General_CI_AS NOT NULL
    GO

    ALTER DATABASE test_db COLLATE Korean_Wansung_CS_AI