[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 メーリングリストの案内