すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:可変長バイナリ関数

最終更新日:Jun 11, 2024

AnalyticDB for MySQLは、次の可変長バイナリ関数をサポートしています。

  • AES_DECRYPT: AESアルゴリズムを使用してデータを復号化します。

  • AES_DECRYPT_MY: AESアルゴリズムを使用してデータを復号します。

  • AES_ENCRYPT: AESアルゴリズムを使用してデータを暗号化します。

  • AES_ENCRYPT_MY: AESアルゴリズムを使用してデータを暗号化します。

  • CHAR_LENGTH: 文字列の長さを返します。

  • COMPRESS: 文字列を圧縮し、結果をバイナリ文字列として返します。

  • CRC32: 引数の巡回冗長検査 (CRC) コードを返します。

  • ENCRYPT: 文字列を暗号化します。

  • FROM_BASE64: Base64-encoded文字列をデコードし、結果を返します。

  • GUNZIP: GZIP形式に基づいてバイナリ文字列を解凍し、バイナリ文字列の結果を返します。

  • GZIP: GZIP形式に基づいてバイナリ文字列を圧縮し、その結果をバイナリ文字列として返します。

  • HEX: 文字列または数値を16進文字列に変換し、結果を返します。

  • LEFT: 文字列の左端のy文字を返します。

  • LENGTH: 引数の長さをバイト単位で返します。

  • LOWER: 引数を小文字で返します。

  • LPAD: 別の文字列で左パディングされた文字列を返します。

  • LTRIM: 文字列の先頭のスペースを削除します。

  • MD5: 引数のMD5ハッシュ値を計算します。

  • ORD: 文字列がマルチバイト文字の場合、文字列の左端の文字のコードを返します。

  • REPEAT: 指定した回数繰り返す文字列を返します。

  • REVERSE: 文字列の文字を反転します。

  • RIGHT: 文字列の右端のy文字を返します。

  • RPAD: 別の文字列で右パディングされた文字列を返します。

  • RTRIM: 文字列の末尾のスペースを削除します。

  • SHA1: 文字列のSHA-1チェックサムを計算します。

  • SHA2: 文字列のSHA-2チェックサムを計算します。

  • SUBSTR: 指定された部分文字列を返します。

  • TO_BASE64: Base64-encoded文字列を返します。

  • TRIM: 文字列の先頭と末尾のスペースを削除します。

  • UNCOMPRESS: COMPRESS() 関数によって圧縮された文字列を解凍します。

  • UNCOMPRESSED_LENGTH: 圧縮前の文字列の長さを返します。

  • UNHEX: 引数の各文字ペアを16進値に解釈し、16進値を数値で表されるバイトに変換してから、その値をバイナリ文字列として返します。

  • UNZIP: ZIP形式に基づいてバイナリ文字列を解凍し、バイナリ文字列の結果を返します。

  • UPPER: 引数を大文字で返します。

  • ZIP: ZIP形式に基づいてバイナリ文字列を圧縮し、結果をバイナリ文字列として返します。

使用上の注意

クライアントによって生成される解析結果が異なるため、一部の関数の戻り値が異なる場合があります。 たとえば、 "China" はクライアントによって "0x4368696E61" に解析されます。 このトピックのすべての例では、データ管理 (DMS) から生成される戻り値が使用されます。

AES_DECRYPT

AES_DECRYPT(VARBINARY X、VARCHAR Y)
  • 説明: この関数は、AESアルゴリズムを使用して、YをキーとしてXを復号化します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY) 、'0123')) 、'0123');

    次の情報が返されます。

    + ----------------------------------------------------------------------------- +
    | HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China a' AS VARBINARY)) 、'0123 ')) |
    + ----------------------------------------------------------------------------- +
    | 4368696E61 |
    + ----------------------------------------------------------------------------- + 

AES_DECRYPT_MY

重要
  • AES_DECRYPT_MY機能はMySQLと互換性があります。 AnalyticDB for MySQLでは、MySQLで暗号化されたデータを復号できます。

  • V3.1.10.0以降のクラスターのみがAES_DECRYPT_MYをサポートしています。

    クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

AES_DECRYPT_MY(VARBINARY X、VARCHAR Y)
  • 説明: この関数は、AESアルゴリズムを使用して、YをキーとしてXを復号化します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT CAST(AES_DECRYPT_MY(UNHEX('CF3AB34E18CD73CE37D46AD2588BA258') 、'key_string ') AS CHAR);

    次の情報が返されます。

    + --------------------------------------------------------------------------------------- +
    | CAST(AES_DECRYPT_MY(UNHEX('CF3AB34E18CD73CE37D46AD2588BA258') 、'key_string') AS CHAR) |
    + --------------------------------------------------------------------------------------- +
    | 中国 |
    + --------------------------------------------------------------------------------------- + 

AES_ENCRYPT

AES_ENCRYPT(VARBINARY X、VARCHAR Y)
  • 説明: この関数は、AESアルゴリズムを使用してYをキーとしてXを暗号化します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(AES_ENCRYPT(CAST('China a' AS VARBINARY)) 、'0123');

    次の情報が返されます。

    + ------------------------------------------------------- +
    | HEX(AES_ENCRYPT(CAST('China a' AS VARBINARY)) 、'0123') |
    + ------------------------------------------------------- +
    | 6C5CB5E59E3EA58E58CFBE3C76BFBECA |
    + ------------------------------------------------------- + 

AES_ENCRYPT_MY

重要
  • AES_ENCRYPT_MY機能はMySQLと互換性があります。 MySQLでは、AnalyticDB for MySQLで暗号化されたデータを復号できます。

  • V3.1.10.0以降のクラスターのみがAES_ENCRYPT_MYをサポートしています。

    クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

AES_ENCRYPT_MY(VARBINARY X, VARCHAR Y)
  • 説明: この関数は、AESアルゴリズムを使用してYをキーとしてXを暗号化します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(AES_ENCRYPT_MY('China', 'key_string '));

    次の情報が返されます。

    + ------------------------------------------------------- +
    | HEX(AES_ENCRYPT_MY('China', 'key_string')) |
    + ------------------------------------------------------- +
    | CF3AB34E18CD73CE37D46AD2588BA258 |
    + ------------------------------------------------------- + 

CHAR_LENGTH

CHAR_LENGTH(VARBINARY X)
  • 説明: この関数は、X文字列の長さを文字単位で返します。

  • 戻り値のデータ型: LONG。

  • 例:

    SELECT CHAR_LENGTH(CAST('ABC 'AS VARBINARY));

    次の情報が返されます。

    + --------------------------------------- +
    | CHAR_LENGTH(CAST('ABC 'AS VARBINARY)) |
    + --------------------------------------- +
    | 3 |
    + --------------------------------------- + 

圧縮

圧縮 (VARBINARY X)
  • 説明: この関数はX文字列を圧縮し、結果をバイナリ文字列として返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(COMPRESS(CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + -------------------------------------------- +
    | HEX(COMPRESS(CAST('China' AS VARBINARY))) |
    + -------------------------------------------- +
    | 05000000789C73CEC8CC4B0400056C01E4 |
    + -------------------------------------------- + 

CRC32

CRC32(VARBINARY X)
  • 説明: この関数はXのCRCコードを返します。

  • 戻り値のデータ型: LONG。

  • 例:

    SELECT CRC32 (キャスト (「中国」としてのVARBINARY));

    次の情報が返されます。

    + ------------------------------------ +
    | CRC32(CAST ('中国 'AS VARBINARY)) |
    + ------------------------------------ +
    | 2704207136 |
    + ------------------------------------ + 

ENCRYPT

ENCRYPT(VARBINARY X、VARCHAR Y)
  • 説明: この関数は、X引数をYでsalt値として暗号化します。

  • 戻り値のデータ型: BLOB。

  • 例:

    SELECT ENCRYPT('ABDABC123' 、'KEY');

    次の情報が返されます。

    + ----------------------------- +
    | ENCRYPT('ABDABC123' 、'KEY') |
    + ----------------------------- +
    | kezazmcIo.aCw |
    + ----------------------------- + 

FROM_BASE64

FROM_BASE64(VARBINARY X)
  • 説明: この関数は、Base64でエンコードされたX文字列をデコードし、結果を返します。

  • 戻り値のデータ型: BLOB。

  • 例:

    SELECT FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY)));

    次の情報が返されます。

    + -------------------------------------------------- +
    | FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY))) |
    + -------------------------------------------------- +
    | abc |
    + -------------------------------------------------- + 

GUNZIP

重要

V3.1.9.3以降のクラスターのみがGUNZIPをサポートしています。

クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

GUNZIP(VARBINARY X)
  • 説明: この関数は、GZIP形式に基づいてXバイナリ文字列を解凍し、バイナリ文字列の結果を返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT GUNZIP(GZIP(CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + -------------------------------------------- +
    | GUNZIP(GZIP(CAST('China a' AS VARBINARY))) |
    + -------------------------------------------- +
    | 中国 |
    + -------------------------------------------- + 

GZIP

重要

V3.1.9.3以降のクラスターのみがGZIPをサポートしています。

クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

GZIP(VARBINARY X)
  • 説明: この関数は、GZIP形式に基づいてXバイナリ文字列を圧縮し、その結果をバイナリ文字列として返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(GZIP(CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + ------------------------------------------------------ +
    | HEX(GZIP(CAST('China a' AS VARBINARY))) |
    + ------------------------------------------------------ +
    | 1F8B080000000000000073CEC8CC4B040020ED2EA105000000 |
    + ------------------------------------------------------ + 

HEX

HEX(VARBINARY X)
  • 説明: この関数は、X文字列または数値を16進文字列に変換します。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    SELECT HEX(CAST (「中国」としてのVARBINARY));

    次の情報が返されます。

    + ---------------------------------- +
    | HEX(CAST('China a' AS VARBINARY)) |
    + ---------------------------------- +
    | 4368696E61 |
    + ---------------------------------- + 

(VARBINARY X、BIGINT Y)
左 (VARBINARY X、ダブルY) 
  • 説明: この関数は、X文字列の左端のY文字を返します。

  • 戻り値のデータ型: BLOB。

  • 例:

    SELECT LEFT(CAST (「中国」AS VARBINARY) 、1000);

    次の情報が返されます。

    + ----------------------------------------- +
    | 左 (CAST('China a' AS VARBINARY) 、1000) |
    + ----------------------------------------- +
    | 中国 |
    + ----------------------------------------- + 

LENGTH

長さ (VARBINARY X)
  • 説明: この関数は、X引数の長さをバイト単位で返します。

  • 戻り値のデータ型: LONG。

  • 例:

    選択された長さ (CAST (VARBINARYとしての 'ABC '));

    次の情報が返されます。

     +----------------------------------+
     | 長さ (CAST('ABC 'AS VARBINARY)) |
     +----------------------------------+
     | 3 |   
     +----------------------------------+

LOWER

低い (VARBINARY X)
  • 説明: この関数は、X引数を小文字で返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT LOWER(CAST('ABC 'AS VARBINARY));

    次の情報が返されます。

    + --------------------------------- +
    | LOWER(CAST('ABC 'AS VARBINARY)) |
    + --------------------------------- +
    | abc |
    + --------------------------------- + 

LPAD

LPAD(VARBINARY X、BIGINT Y、VARCHAR Z)
LPAD(VARBINARY X、ダブルY、VARCHAR Z) 
  • 説明: この関数はX文字列を返し、左にZ文字列をY文字の長さにパディングします。

    XYより長い場合、戻り値はY文字に短縮されます。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(LPAD(CAST('China a' AS VARBINARY)) 、7、'-');

    次の情報が返されます。

    + ------------------------------------------------ +
    | HEX(LPAD(CAST('China a' AS VARBINARY)), 7, '-') |
    + ------------------------------------------------ +
    | 2D2D4368696E61 |
    + ------------------------------------------------ + 

LTRIM

LTRIM(VARBINARY X)
  • 説明: この関数は、X文字列の先頭のスペースを削除します。

  • 戻り値のデータ型: BLOB。

  • 例:

    SELECT LTRIM(CAST ('China 'AS VARBINARY));

    次の情報が返されます。

    + ---------------------------------------- +
    | LTRIM (キャスト ('China 'AS VARBINARY)) |
    + ---------------------------------------- +
    | 中国 |
    + ---------------------------------------- + 

MD5

MD5(VARBINARY X)
  • 説明: この関数は、X引数のMD5ハッシュ値を返します。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    SELECT MD5(CAST('China a' AS VARBINARY));

    次の情報が返されます。

    + ---------------------------------- +
    | MD5(CAST ('中国 'AS VARBINARY)) |
    + ---------------------------------- +
    | ae54a5c026f31ada088992587d92cb3a |
    + ---------------------------------- + 

ORD

ORD(VARBINARY X)
  • 説明: この関数は、文字がマルチバイト文字の場合、X文字列の左端の文字のコードを返します。

  • 戻り値のデータ型: LONG。

  • 例:

    SELECT ORD(CAST (VARBINARYとしての「中国」));

    次の情報が返されます。

    + ---------------------------------- +
    | ORD(CAST('China a' AS VARBINARY)) |
    + ---------------------------------- +
    | 67 |
    + ---------------------------------- + 

REPEAT

繰り返し (VARBINARY X、DOUBLE Y)
繰り返し (VARBINARY X、BIGINT Y) 
  • 説明: この関数は、Y回繰り返すX文字列を返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX (繰り返し (キャスト (「中国」AS VARBINARY) 、1));

    次の情報が返されます。

    + --------------------------------------------- +
    | HEX(REPEAT(CAST('China' AS VARBINARY) 、1)) |
    + --------------------------------------------- +
    | 4368696E61 |
    + --------------------------------------------- + 

REVERSE

逆 (VARBINARY X)
  • 説明: この関数は、X文字列の文字を反転します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX (逆 (CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + ------------------------------------------- +
    | HEX (逆 (CAST('China' AS VARBINARY))) |
    + ------------------------------------------- +
    | 616E696843 |
    + ------------------------------------------- + 

RIGHT(VARBINARY X、BIGINT Y)
右 (VARBINARY X、ダブルY) 
  • 説明: この関数は、X文字列の右端のY文字を返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(RIGHT(CAST('China' AS VARBINARY)) 、1);

    次の情報が返されます。

    + -------------------------------------------- +
    | HEX(RIGHT(CAST('China' AS VARBINARY) 、1)) |
    + -------------------------------------------- +
    | 61 |
    + -------------------------------------------- + 

RPAD

RPAD(VARBINARY X、BIGINT Y、VARCHAR Z)
RPAD(VARBINARY X、ダブルY、VARCHAR Z) 
  • 説明: この関数はX文字列を返し、Z文字列でY文字の長さに右パディングします。

    XYより長い場合、戻り値はY文字に短縮されます。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT HEX(RPAD(CAST('China a' AS VARBINARY)) 、4.7、'x');

    次の情報が返されます。

    + -------------------------------------------------- +
    | HEX(RPAD(CAST('China a' AS VARBINARY)) 、4.7、'x') |
    + -------------------------------------------------- +
    | 4368696E61 |
    + -------------------------------------------------- + 

RTRIM

RTRIM(VARBINARY X)
  • 説明: この関数は、X文字列の末尾のスペースを削除します。

  • 戻り値のデータ型: BLOB。

  • 例:

    SELECT RTRIM(CAST ('China 'AS VARBINARY));

    次の情報が返されます。

    + ---------------------------------------- +
    | RTRIM (キャスト ('China 'AS VARBINARY)) |
    + ---------------------------------------- +
    | 中国 |
    + ---------------------------------------- + 

SHA1

SHA1(VARBINARY X)
  • 説明: この関数は、X文字列のSHA-1チェックサムを計算します。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    SELECT SHA1 (キャスト (「中国」としてのVARBINARY));

    次の情報が返されます。

    + ------------------------------------------ +
    | SHA1(CAST('China' AS VARBINARY)) |
    + ------------------------------------------ +
    | d2eaf2aa1512d6596e0a5bae633537c6b8e779a3 |
    + ------------------------------------------ + 

SHA2

SHA2(VARBINARY X、INTEGER Y)
SHA2(VARBINARY X、VARCHAR Y) 
  • 説明: この関数は、X文字列のSHA-2チェックサムを返します。 SHA-224、SHA-256、SHA-384、またはSHA-512を使用することができます。 Xはハッシュされる平文文字列です。 Yは、結果を表すのに必要なビットの長さであり、224、256、384、512、または0でなければならない。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    SELECT SHA2 (キャスト (「中国」としてVARBINARY) 、256);

    次の情報が返されます。

    + ------------------------------------------------------------------ +
    | SHA2(CAST (「中国」AS VARBINARY) 、256) |
    + ------------------------------------------------------------------ +
    | 10436829032f361a3de50048de41755140e581467bc1895e6c1a17f423e42d10 |
    + ------------------------------------------------------------------ + 

SUBSTR

SUBSTR(VARBINARY X、BIGINT Y、DOUBLE Z)
SUBSTR(VARBINARY X、ダブルY、ダブルZ)
SUBSTR(VARBINARY X、BIGINT Y、BIGINT Z)
SUBSTR(VARBINARY X、ダブルY、BIGINT Z)
SUBSTR(VARBINARY X、ダブルY)
SUBSTR(VARBINARY X、BIGINT Y) 
  • 説明: この関数は、指定された部分文字列を返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

TO_BASE64

TO_BASE64(VARBINARY X)
  • 説明: この関数は、Base64形式でエンコードされたX文字列を返します。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    SELECT TO_BASE64(CAST('China' AS VARBINARY));

    次の情報が返されます。

    + ---------------------------------------- +
    | TO_BASE64(CAST('China a' AS VARBINARY)) |
    + ---------------------------------------- +
    | Q2hpbmE= |
    + ---------------------------------------- + 

TRIM

トリム (VARBINARY X)
  • 説明: この関数は、X文字列の先頭と末尾のスペースを削除します。

  • 戻り値のデータ型: BLOB。

  • 例:

    セレクトトリム (キャスト ('China 'AS VARBINARY));

    次の情報が返されます。

    + --------------------------------------- +
    | トリム (キャスト ('中国' としてVARBINARY)) |
    + --------------------------------------- +
    | 中国 |
    + --------------------------------------- + 

非圧縮

UNCOMPRESS(VARBINARY X)
  • 説明: この関数は、COMPRESS() 関数によって圧縮されたX文字列を解凍します。

  • 戻り値のデータ型: BLOB。

  • 例:

    SELECT UNCOMPRESS(COMPRESS(CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + --------------------------------------------------- +
    | UNCOMPRESS(COMPRESS(CAST('China a' AS VARBINARY))) |
    + --------------------------------------------------- +
    | 中国 |
    + --------------------------------------------------- + 

UNCOMPRESSED_LENGTH

UNCOMPRESSED_LENGTH(VARBINARY X)
  • 説明: この関数は、圧縮前のX文字列の長さを返します。

  • 戻り値のデータ型: LONG。

  • 例:

    SELECT UNCOMPRESSED_LENGTH(COMPRESS(CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + ------------------------------------------------------------ +
    | UNCOMPRESSED_LENGTH(COMPRESS(CAST('China a' AS VARBINARY))) |
    + ------------------------------------------------------------ +
    | 5 |
    + ------------------------------------------------------------ + 

UNHEX

UNHEX(VARBINARY X)
  • 説明: この関数は、X引数の各文字ペアを16進値として解釈し、16進値を数値で表されるバイトに変換してから、値をバイナリ文字列として返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT UNHEX (キャスト (「中国」としてのVARBINARY));

    次の情報が返されます。

    + ------------------------------------ +
    | UNHEX(CAST('China a' AS VARBINARY)) |
    + ------------------------------------ +
    | NULL |
    + ------------------------------------ + 

UNZIP

重要

V3.1.9.3以降のクラスターのみがUNZIPをサポートしています。

クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

UNZIP(VARBINARY X)
  • 説明: この関数は、ZIP形式に基づいてXバイナリ文字列を解凍し、バイナリ文字列の結果を返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT UNZIP(ZIP(CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + --------------------------------------- +
    | UNZIP(ZIP(CAST('China a' AS VARBINARY)))|
    + --------------------------------------- +
    | 中国 |
    + --------------------------------------- + 

UPPER

アッパー (VARBINARY X)
  • 説明: この関数は、X引数を大文字で返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT UPPER(CAST('abc' AS VARBINARY));

    次の情報が返されます。

    + --------------------------------- +
    | アッパー (CAST('abc' AS VARBINARY)) |
    + --------------------------------- +
    | ABC |
    + --------------------------------- + 

ZIP

重要

V3.1.9.3以降のクラスターのみがZIPをサポートしています。

クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

ZIP(VARBINARY X)
  • 説明: この関数は、ZIP形式に基づいてXバイナリ文字列を圧縮し、結果をバイナリ文字列として返します。

  • 戻り値のデータ型: VARBINARY。

  • 例:

    SELECT UNZIP(ZIP(CAST('China a' AS VARBINARY)));

    次の情報が返されます。

    + --------------------------------------- +
    | UNZIP(ZIP(CAST('China a' AS VARBINARY)))|
    + --------------------------------------- +
    | 中国 |
    + --------------------------------------- +