PostgreSQL ユーザーズガイド | ||
---|---|---|
Prev | Next |
Postgresで使用できる, 組込みデータ型を示します。
Postgresでは,多くのネイティブのデータ型を, ユーザに対して提供してしています。 ユーザは,別のところで解説されているdefine type コマンドを使って、Postgresに対して新しい 型を追加することもできます。
データ型の内容については、以下のセクションでSQL標準への準拠や 移植状況、および使用法について解説しています。いくつかの Postgresタイプは直接 SQL-92互換タイプに 対応しています。その他のケースでは,SQL92 文法で定義されている データ型は、直接ネイティブのPostgres の型にマッピングされています。多くの組み込み型は明示的な外部 フォーマットを持っています。しかしながら、開いた/閉じたパス のようにPostgres固有のものもあれば、 日付や時刻型のように、複数のフォーマットを持つものもあります。
Table 4-1. Postgresデータ型
Postgres | SQL92 SQL3 | 説明 |
---|---|---|
bool | boolean | 論理ブール型(真/偽) |
box | 2次平面における長方形 | |
char(n) | character(n) | 固定長文字列 |
circle | 2次平面における円e | |
date | date | 時刻を除くカレンダー日付 |
float4/8 | float(p) | 精度pを持つ浮動小数点数 |
float8 | real, double precision | 倍精度浮動小数点数 |
int2 | smallint | 符号付き2バイト整数 |
int4 | int, integer | 符号付き4バイト整数 |
int4 | decimal(p,s) | p <= 9, s = 0である正確な数値 |
int4 | numeric(p,s) | p == 9, s = 0である正確な数値 |
line | 2次平面における直線 | |
lseg | 2次平面における線分 | |
money | decimal(9,2) | USスタイルの通貨 |
path | 2次平面における開いた、および閉じた座標パス | |
point | 2次平面における座標点 | |
polygon | 2次平面における閉じた座標パス(多角形) | |
time | time | 時刻 |
timespan | interval | 汎用の時間間隔 |
timestamp | timestamp with time zone | 日付/時刻 |
varchar(n) | character varying(n) | 可変長文字列 |
Table 4-2. Postgres関数定数
Postgres | SQL92 | 説明 |
---|---|---|
getpgusername() | current_user | 現在のセッションにおけるユーザ名 |
date('now') | current_date | 現在のトランザクションにおける日付 |
time('now') | current_time | 現在のトランザクションにおける時刻 |
timestamp('now') | current_timestamp | 現在のトランザクションにおける日付と時刻 |
Postgresは、ORDBMS 開発のフロントエンド において特色を持っています。SQL3 適合に加え、SQL92 相当の部分が サポートされています。我々はSQL92適合に努力してはいますが、標準案の 中にはまずい考え方や未来の標準では生き残れないようなケースもあります。 Postgresでは、これらのケースに対しては あまり適合しようという考えはありません。しかしながら、これらのケース はあまり使用されないで廃れてゆく傾向にあり、通常のユーザはまず それらを使おうとはしないようです。
ベースとなる型(整数や浮動小数点数など)に対応しているほとんどの 入出力関数は、いくつかのエラーチェックをしますが、特別に厳密な チェックを行わないものもあります。より重要なことは、演算子や 関数(たとえば加算や乗算)によっては、全くエラーチェックを 行わないものがあることです。このため、多くの数値演算子は(たとえば) アンダーフローやオーバーフローを起こし、それらはユーザに通知される ことはありません。
入出力関数の中には可逆的でないものもあります。すなわち、ある出力関数 の結果をオリジナルの入力と比較した場合、有効桁数を失うことがありうる ということです。
Prev | Home | Next |
データベースの削除 | 数値型 |