現在OSS-DB Silver Ver.2を勉強中のサイト主です。
OSS DB Silverを本で勉強していても図にしないとわからなかったり、表にしたほうが分かりやすいこともあります。そのため、自分が覚えにくいと思ったこと、混同しやすいことをまとめています。書いてあることは常識なことかもしれませんが私がわからなかったことをまとめています。
勉強法などは下記に記載しています。
OSS DB exam Silverの勉強内容
- オープンソースデータベースの一般的特徴
- データベースの基礎知識
- インストール
- 標準付属ツール
- 設定ファイル
- バックアップとリストア
- 基本的な運用管理
- SQLとオブジェクト
- 組み込み関数と演算子⇦今日はこれ!
- トランザクション
組み込み関数と演算子
PostgreSQLの数多くの型に対する算術演算子が用意されています。今回は以前SQLを勉強していたのでそこまで戸惑うことはありませんでした。以下の内容を覚えておけば集計が可能です。
算術関数
関数名 | 説明 |
abs | 絶対値 |
div | y/xの整数商 |
mod | y/xの剰余 |
sqrt | 平方根 |
power | aのb乗 |
ceil | 引数より小さくない最小の整数 |
floor | 引数より大きくない最大の整数 |
round | 四捨五入 |
trunc | 切り捨て |
log | 10を底とした対数(常用対数) |
pi | “円周率(π)”定数 |
random | 0.0 <= x < 1.0の範囲の乱数値 |
問題としては以下のような集計が出ます。
Q1.PostgreSQLの算術演算子の利用について、誤った記述を1つ選びなさい。
SELECT 5/2; の結果は 2 だが、SELECT 5/2.0; の結果は 2.5 となる。
SELECT 5%2; の結果は 1 である。
SELECT 5/NULL; を実行すると、0で除算のエラーとなる。
SELECT 5/0; を実行すると、0で除算のエラーとなるが、SELECT NULL/0; なら結果は NULL となる。
SELECT 5^2; の結果は 25 である。
文字列関数
関数名 | 説明 |
length() char_length() |
文字型の文字数 |
octet_length() | 文字列中のバイト数 |
substring() | POSIX正規表現に一致する副文字列を取り出す |
upper() | 文字列を大文字に変換 |
lower() | 文字列を小文字に変換 |
repeat() | 指定されたnumberの数だけstringを繰り返す |
replace() | stringに出現する全てのfrom部分文字列をto部分文字列に置換 |
lpad() | 文字fill(デフォルトは空白文字)を文字列の前に追加して、stringをlengthの長さにする。stringが既にlengthの長さを超えている場合は(右側が)切り捨てられる。 |
rpad() | 文字fill(デフォルトはスペース)を文字列に追加して、stringをlengthの長さにする。stringが既にlengthの長さを超えている場合は切り捨てられる |
trim() | characters(デフォルトでは空白)で指定された文字のみを含む最も長い文字列を、stringの先頭、末尾、そしてその両方から削除する |
ltrim() | stringの最初から、characters(デフォルトはスペース)で指定された文字だけを有する最長の文字列を削除 |
rtrim() | stringの末尾から、characters(デフォルトはスペース)で指定された文字のみを有する最長の文字列を削除 |
所感
BigQueryでもともとデータ抽出をしていたので今回はそこまで難しくなかったです。すでにほかのところで勉強しているのであれば、BigQueryやほかのSQLと対応させながら覚えていくとよいかと思います。
最近のコメント