無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 9 キャラクタセットサポート :: 9.6 キャラクタセットのサポートによる影響を受ける演算 :: 9.6.2 CONVERT() とCAST()
« 9.6.1 結果文字列

9.6.3 SHOW ステートメントとINFORMATION_SCHEMA »
Section Navigation      [Toggle]
  • 9.6 キャラクタセットのサポートによる影響を受ける演算
  • 9.6.1 結果文字列
  • 9.6.2 CONVERT() とCAST()
  • 9.6.3 SHOW ステートメントとINFORMATION_SCHEMA

9.6.2. CONVERT() とCAST()

CONVERT() を使用すると、異なるキャラクタセット間でデータを変換することができます。構文は以下のとおりです。

CONVERT(expr USING transcoding_name)

MySQL では、トランスコーディング名は対応するキャラクタセット名と同じです。

例:

SELECT CONVERT(_latin1'Muller' USING utf8);
INSERT INTO utf8table (utf8column)
    SELECT CONVERT(latin1field USING utf8) FROM latin1table;

CONVERT(... USING ...) は、標準SQLの仕様に基づき実装されています。

CAST() を使用し、文字列を別のキャラクタセットに変換することもできます。構文は以下のとおりです。

CAST(character_string AS character_data_type CHARACTER SET charset_name)

例:

SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8);

CAST()woCHARACTER SETの指定なしで使用した場合、キャラクタセットと照合順序はcharacter_set_connectionとcollation_connectionのシステム変数で定義されます。CAST()をCHARACTER SET Xの指定ありで使用した場合、キャラクタセットはX、照合順序はXのデフォルト照合順序になります。

COLLATE節をCAST()の内部で使用することはできませんが外部では使用することができます。したがってCAST(... COLLATE ...)無効ですが、CAST(...) COLLATE ...は有効です。

例:

SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.