[pgsql-jp: 34748] Re: charのlength について

TANIDA Yutaka tanida @ sra.co.jp
2005年 1月 28日 (金) 15:32:27 JST


谷田です

On Thu, 27 Jan 2005 22:26:21 +0900
lee <g_lee_1013 @ yahoo.co.jp> wrote:

> LEEと申します。
> はじめて投稿します。
> 
> 
> CHAR型DATATYPEフィールドにマルチバイトの
> 文字列が入ったときのlengthの値ですが、、、
> 
> create table test (
>   a char(10)
> )
> の定義のテーブルで
> たとえば、aの値が → "あいうえ"
> で、select length(a) from test;
> すると、結果は6となります。
> select octet_length(a) from test;
> にするとちゃんと10が戻ってきます。
> 
> 
> 
> しかし、aの値を → "abcde" にして
> select length(a) from test;
> すると、結果は10となります。
> 
> char型は固定長なので、戻り値はスペース付きで戻ってきたら
> lengthの値は10になりそうな気がしますが、、
> 
> 英文字と、マルチバイトにそれぞれlength関数をかけた時
> なぜこんな結果が出てしまうのでしょうか?

以下の情報を教えて頂けますか?

・PostgreSQLのバージョン
・データベースのエンコーディング
・初期化時に--no-localeオプションを付けていたかどうか

-- 
TANIDA Yutaka <tanida @ sra.co.jp>




pgsql-jp メーリングリストの案内