MySQL的結果字串

來源:互聯網
上載者:User

MySQL中有許多操作符和函數可以返回字串。本節回答這個問題:返回的字串使用什麼字元集和 校對規則?

對於簡單的函數,即接收字串輸入然後返回一個字串結果作為輸出的函數,輸出的字元集和校對規則與原始輸入的相同。例如,UPPER(X)返回一個字串,其字元和 校對規則與X相同。類似的函數還有INSTR()、LCASE()、LOWER()、LTRIM()、MID()、REPEAT()、REPLACE()、REVERSE()、RIGHT()、RPAD()、RTRIM()、SOUNDEX()、SUBSTRING()、TRIM()、UCASE()和UPPER()。(還需要注意:REPLACE()函數不同於其它函數,它總是忽略輸入字串的 校對規則,並且進行大小寫不敏感的比較。)

對於合并多個字串輸入並且返回單個字串輸出的運算,應用標準SQL“彙總規則”:

· 如果存在顯式的校對規則X,那麼使用X。

· 如果存在顯式的校對規則X和Y,那麼產生一個錯誤。

· 否則,如果全部校對規則是X,那麼使用X。

· 其它情況,結果沒有校對規則。

例如,使用CASE ... WHEN a THEN b WHEN b THEN c COLLATE X END。結果校對規則是X。對於CASE、UNION、||、CONCAT()、ELT()、GREATEST()、IF()和LEAST()情況相同。

對於轉換為字元資料的運算,從運算得到的結果字串的字元集和校對規則由character_set_connection和collation_connection系統變數定義。這適用於CAST()、CHAR()、CONV()、FORMAT()、HEX()和SPACE()函數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.