PostgreSQL の SEQUENCE の実体

PostgreSQL の SEQUENCE の実体はテーブルです。 CREATE SEQUENCE したときに SEQUENCE と同じ名前の 1 行だけの特殊なテーブルを作成します。

次のように \d で SEQUENCE の状態を確認することができます。

db=# \d test_sequence

      Sequence "public.test_sequence"
    Column     |  Type   |        Value
---------------+---------+---------------------
sequence_name | name    | test_sequence
last_value    | bigint  | 9
start_value   | bigint  | 1
increment_by  | bigint  | 1
max_value     | bigint  | 9223372036854775807
min_value     | bigint  | 1
cache_value   | bigint  | 1
log_cnt       | bigint  | 26
is_cycled     | boolean | f
is_called     | boolean | t

SEQUENCE の実体はテーブルなので 次のように SQL の FROM 句に SEQUENCE 名を指定しても 中身を見ることができます。

db=# \x
Expanded display is on.

db=# SELECT * FROM public.test_sequence;

-[ RECORD 1 ]-+--------------------
sequence_name | test_sequence
last_value    | 9
start_value   | 1
increment_by  | 1
max_value     | 9223372036854775807
min_value     | 1
cache_value   | 1
log_cnt       | 26
is_cycled     | f
is_called     | t 

PostgreSQL は view もテーブルとルールを使って実現していますが 少ない実装で多くの機能を実現するというのはカッコいいですね。

Excel で改行付きの書式を設定する

下の図のセル D2 には 2011/08/30 という値が入っています。 改行付きの書式 "dd (改行) (aaa)" を設定することで表示を改行させています。

WRITE_0421_01

書式を改行させるには、「セルの書式設定」で「ユーザ−定義」を選択して 入力中に [Ctrl]+[J] を押します。 Excel のセルの中で [Alt]+[Enter] を押すのと同じで複数行の入力ができるようになります。

WRITE_0421_02

これだけでなく、「配置」「文字の制御」で「折り返して全体を表示する」と 「縮小して全体を表示する」にチェックを入れます。 「縮小して全体を表示する」は「折り返して全体を表示する」にチェックを入れると 不活性になってしまうので、「折り返して全体を表示する」がチェックされていない状態で チェックしてやる必要があります。

WRITE_0421_03

この方法を使うと、は計算にも使える単純な日付を持ちつつも、 表示に関数を使わなくて済みます。

Google サイト内検索

Amazonアソシエイト