文字列の長さを文字数で返す関数として character_length がある。例えば character_length('あいうえお') は 5 となる。
文字列の長さをバイト数で返す関数として byte_length がある。例えば、文字セットが UTF-8 のデータベースでは byte_length('あいうえお') は 15 となる。
部分文字列を返す関数として substring がある。例えば substring('12345678' from 3 for 2) は '34' となる。
文字列を置換する関数として replace がある。例えば replace('12341234', '2', 'x') は '1x341x34' となる。
文字列の両端から空白を除去する関数として trim がある。例えば trim(' abc ') は 'abc' となる。
割り算で余りを切り捨てて整数の商を求めるには // を使用できる。例えば 5 // 3 は 1 となる。
割り算で余りを求めるには % を使用できる。例えば 5 % 3 は 2 となる。
べき乗の計算には ** を使用できる。例えば、5 ** 3 は 125 となる。
論理和を求めるには || を使用できる。例えば true || false は true となる。小数部を四捨五入して整数にするには、round関数を使う。
文字列を連結するには + を使用できる。例えば 'abc' + 'def' は 'abcdef' となる。
小数部を切り捨てて整数にするには、rounddown 関数を使う。
小数部を切り捨てて整数にするには、trunc 関数を使う。
小数部を切り上げて整数にするには、roundup 関数を使う。
小数部を切り上げて整数にするには、ceil 関数を使う。
小数部を四捨五入して整数にするには、round関数を使う。
小数部を四捨五入して整数にするには、int関数を使う。
count(*) も count(x) もテーブルsample_tableの行数が返される。
count(*) は sample_table の行数、count(x) は列 x の異なる値の種類の数が返される。
count(*) は sample_table の行数、count(x) は列 x の値が NULL でない行の数が返される。
count(*) は sample_table でどの列もNULLでない行の数、count(x) は列 x の値が NULL でない行の数が返される。
count(*) は sample_table の一番左の列の値の合計、count(x) は列 x の値の合計が返される。
2行目の declare の後にセミコロンが必要なので、このcreate functionはエラーとなる。
3行目の x record は間違っているので、このcreate functionはエラーとなる。正しくは x test_table%ROWTYPE とする。
4行目の begin の後にセミコロンが必要なので、このcreate functionはエラーとなる。
5行目で参照するtest_table が存在しなければ、create funtion はエラーとなる。
6行目で参照するid列が存在しないとき、create functionには成功するが、この関数を呼び出したときに実行時エラーとなる。
A. SELECT * FROM bar; は foo.bar というテーブルが見つからない、というエラーになる。
B. CREATE TABLE bar(...); は public.bar というテーブルが既に存在するのでエラーになる。
C. SELECT * FROM bar; とすると、foo.bar と public.bar の両方のテーブルから検索したデータが返される。
D. DROP TABLE bar; を実行すると、foo.bar だけが削除される。
E. DROP TABLE bar; を実行すると、public.bar だけが削除される。
© EDUCO All Rights Reserved.