« PostgreSQLにおけるNVL関数の代替手段 | トップページ | シーケンス番号を自在に操りたい!(3) -(2)MAXVALUE defalut値の顛末 »

2014.03.02

【メモ】集約関数の結果等の型指定

SQLを使用したときの出力結果が思い通りの型にならない場合の対処法

SELECT sum(sales_amount)::integer FROM sales;

"::(ダブルコロン)"をSELECTした項目につけることで出力される型を制御できる。
単純にSUMした場合、元のカラムが整数型でも出力結果が浮動小数点になってしまうことがたまにある。
上記はこれへの対応例である。

::による型指定は別段integerだけではなく

SELECT (a || b)::char(10) FROM samples;

のように連結した文字列の出力長を制御したりもできる。この例はa、bそれぞれ文字列であるが連結後に10桁に切り詰めたい場合に使用できる。

ただ、なんでもできるわけではなく、上記のように文字列に対して::integerなどのように数値型へ変換しようとした場合、通常はエラーになる。

|

« PostgreSQLにおけるNVL関数の代替手段 | トップページ | シーケンス番号を自在に操りたい!(3) -(2)MAXVALUE defalut値の顛末 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/59201632

この記事へのトラックバック一覧です: 【メモ】集約関数の結果等の型指定:

« PostgreSQLにおけるNVL関数の代替手段 | トップページ | シーケンス番号を自在に操りたい!(3) -(2)MAXVALUE defalut値の顛末 »