程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 解析:輕松掌握 字符串文字字符集和校對

解析:輕松掌握 字符串文字字符集和校對

編輯:關於MYSQL數據庫

每一字符串字符文字有一個字符集和一個校對規則,它不能為空。

一個字符串文字可能有一個可選的字符集引介詞和COLLATE子句:

[_charset_name]'string' [COLLATE collation_name]

例如:

SELECT 'string';
SELECT _latin1'string';
SELECT _latin1'string' COLLATE latin1_danish_ci;

對於簡單的語句SELECT 'string',字符串使用由character_set_connection和collation_connection系統變量定義的字符集和 校對規則。

_charset_name表達式正式稱做一個引介詞。它告訴解析程序,“後面將要出現的字符串使用字符集X。”因為以前人們對此感到困惑,我們強調引介詞不導致任何轉換; 它僅是一個符號,不改變字符串的值。引介詞在標准十六進制字母和數字十六進制符號(x'literal'和 0xnnnn)中是合法的,以及?(當在一個編程語言接口中使用預處理的語句時進行參數替換)。

例如:

SELECT _latin1 x'AABBCC';
SELECT _latin1 0xAABBCC;
SELECT _latin1 ?;

MySQL這樣確定一個文字字符集和校對規則:

·如果指定了CHARACTER SET X和COLLATE Y,那麼使用CHARACTER SET X和COLLATE Y。

·如果指定了CHARACTER SET X而沒有指定COLLATE Y,那麼使用CHARACTER SET X和CHARACTER SET X的默認校對規則。

·否則,使用通過character_set_connection 和 collation_connection系統變量給出的字符集和 校對規則。

例如:

·使用latin1字符集和latin1_german1_ci校對規則的字符串:

·SELECT _latin1'Müller' COLLATE latin1_german1_ci;

·使用latin1字符集和其默認校對規則的字符串(即,latin1_swedish_ci):

·SELECT _latin1'Müller';

·使用連接默認字符集和校對規則的字符串:

·SELECT 'Müller';

字符集引介詞和COLLATE子句是根據標准SQL規范實現的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved