oracle 関数は PL/SQL サブルーチンです。Oracle データベースにデータベース オブジェクトとして保存されます。渡されたパラメータを処理し、処理結果、つまり値を返します。通常、Oracle 関数は特定のデータを返すために使用されますが、システム関数とユーザー定義関数の 2 つのカテゴリに分類できます。
このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 19c、Dell G3 コンピューター。
Oracle 関数の定義
関数は、データベース オブジェクトとして Oracle データベースに格納され、PL/SQL サブルーチンとも呼ばれます。
関数は渡されたパラメータを処理し、処理結果、つまり値を返します。通常、特定のデータを返すために使用されます。
Oracle 関数は、システム関数とユーザー定義関数の 2 つのカテゴリに分類できます。
ORACLE 関数の単一行関数
1. 文字関数
関数名 |
関数 |
例 |
結果 |
#initcap(char ) | 最初の文字を大文字にします | initcap('nice') | Nice |
lower(char) | 小文字に変換 | lower('NICE') | nice |
upper(char) | 大文字に変換 | upper('nice') | NICE |
##ltrim(char,set)
left shear |
ltrim ( 'nice','ni') |
ce |
|
rtrim(char,set)
右カット |
rtrim( ' nice','e') |
nic |
| ##concat(char1,char2)
文字列連結 | concat(' ni ','ce') | nice |
| substr(char,pos,len)
部分文字列を取得 | substr (' nice',2,2) | ic |
| instr(char,substr)
部分文字列の位置をチェック | instr(' nice','c') | 3 |
##translate(char,key,value) |
文字ごとのマップ翻訳 translate ('nice','ne','01') |
0ic1 |
| ##replace(char,old,new) | 文字列置換
replace('nice','c','cc') | nicce |
|
2.数値関数 |
#関数名
##関数
#例
##結果
| ##abs( n) | 絶対値を取得します | abs(-3) | 3
##mod( m,n) モジュール |
mod(3,2) |
1 |
|
sign(n) サインを取得 |
sign(-3) |
-1 |
|
ceil(n)
切り上げ |
ceil(3.2 ) |
4 |
|
フロア(n)
切り捨て |
フロア( 3.2) |
3 |
| ##round(m,n)
指定された小数点以下の桁数に丸めます | round(3.236,2 ) | 3.24 |
| power(m,n)
m の n 乗 | power(3,2) | 9 |
#sqrt(n) |
平方根
sqrt(4) |
2 |
|
trunc(m,n) |
切り捨て
trunc(3.233,2) |
3.23 |
|
sin(n) |
sine
sin(0) |
0 |
|
cos(n) |
cosine
cos(0) |
1 |
|
3.日付関数
関数名 |
関数 |
例 |
結果 |
months_between(date1,date2) |
2 日の間の月を返します (カレンダーで date1 が date2 より前の場合は負の数が返され、それ以外の場合は正の数) |
months_between('01-August-2020','01-August-2020') |
0 |
add_months( date, m) |
日付に月数を加算した新しい日付を返します |
add_months('25-August-2020',-1) |
25-7 Month -2020 |
next_day(date,week) |
指定された新しい日付の翌週に対応する新しい日付を返します |
next_day('23- 8 Month-2020', 'Monday') |
24-August-2020 |
last_day(date) |
指定された日付の月を返します最終日 |
last_day('25-August-2020') |
31-August-2020 |
round(date,p) | 指定された形式に従って日付を四捨五入します |
round(to_date('25-August-2020'),'YEAR') |
1- January-2021 |
trunc(date,p) |
指定された方法で日付を切り詰めます |
trunc(to_date('25-8 month-2020'),'YEAR ') |
01- January-2020 |
注:
- p は年、ラウンドは 1 月から 6 月と 7 月です。 yyyy 年の最も近い 1 月に四捨五入された 12 月。trunc は今年の最初の日までインターセプトされます。
- p は MONTH、丸めは 1 ~ 15 日および 16 ~ 30 日に基づいて、最も近い mm 月の 1 日に四捨五入されます。trunc は今月の 1 日までに切り取られます。
- p は DAY、丸めは月曜日から水曜日と木曜日から日曜日に基づいて、最も近い日曜日に四捨五入されます。 trunc は今週の最初の日にインターセプトされます。
#Oracle 関数の複数行関数
クエリ データの統計の実行-
- 通常のフィールドと組み合わせることはできませんおよび単一行 関数はグループ化されていない限り混在します
関数名 | 関数 |
##max ( フィールド名)
フィールドの最大値を返します |
|
min(フィールド名)
フィールドの最小値を返します | |
sum(フィールド名)
フィールドの合計を返します |
|
avg(フィールド名)
Returnsフィールドの平均値 |
|
count(*)
テーブルのレコード数を返します |
|
count(フィールド名)
null 以外の値の数を返します |
|
count(個別のフィールド名)
重複排除後のフィールド値の数を返します |
|
#Oracle 関数変換関数
to_number (数値型文字): 文字を変換します。 to 数値
-
to_char (数値または日付): 数値または日付を文字に変換します
- 表示形式を指定します: 9はプレースホルダーを表します。たとえば、999,999,999 は、数値を 3 つのカンマのグループに区切ります。 0 は占有を意味し、実際のデータ桁数が不足する場合は 0 が桁を埋めます。 L は人民元記号を表し、$ は米ドル記号を表します。 注: 数値と文字間の暗黙的な変換が可能です。
to_date (日付形式の文字): 文字を日付に変換します (通常、新しい用途のために追加され、to_char でクエリします)
- 一般的な日付形式: yyyy-mm-dd yyyy/mm/dd'yyyy"year"mm"month"dd"day"'注: 文字は、Oracle のデフォルトの日付形式に準拠している必要があります。変換形式は日、月、年です (例: '25-August-2020)。
Oracle 関数のその他の関数
nvl (フィールド名、新しい値): フィールド値がそうでない場合null の場合はフィールド値が返され、null の場合は新しい値が返されます。
-
nvl2 (フィールド名、処理 1、処理 2): フィールド値が null でない場合は処理 1 が実行され、null の場合は処理 2 が実行されます。
-
decode (フィールド名、値 1、処理 1、値 2、処理 2、値 3、処理 3、...、公開処理): フィールドの値と条件が一致する場合in decode 値が同じ場合、対応する処理が行われます。存在しない場合は公開処理を行います。
|
以上がオラクル関数とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。