ホームページ  >  記事  >  データベース  >  オラクル関数とは何ですか

オラクル関数とは何ですか

青灯夜游
青灯夜游オリジナル
2022-02-22 17:29:203758ブラウズ

Oracle では、関数は PL/SQL サブプログラムとも呼ばれ、データベース オブジェクトとして Oracle データベースに格納されます。関数は、渡されたパラメータを処理し、処理結果、つまり値を返します。 Oracle 関数は、システム関数とユーザー定義関数の 2 つのカテゴリに分類できます。

オラクル関数とは何ですか

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle 関数の定義

関数はデータベース オブジェクトとして Oracle データベースに格納され、PL/SQL とも呼ばれます。サブルーチン。

関数は渡されたパラメータを処理し、処理結果、つまり値を返します。通常、特定のデータを返すために使用されます。

Oracle 関数は、システム関数とユーザー定義関数の 2 つのカテゴリに分類できます。

#ORACLE 関数の単一行関数

    実際のデータは変更せず、表示用にデータをさらに変更または処理するだけです
  • フィールドと混合可能
  • 疑似テーブル: データ検証を容易にするために一時的に存在する実際のテーブル、テーブル名: デュアル

1.キャラクター関数

関数名関数例結果initcap(char)最初の文字を大文字にするinitcap('nice')Nice lower(char)小文字に変換#upper( char) 大文字に変換upper('nice')NICEltrim(char,set)左剪断ltrim('nice','ni')certrim(char,set)右剪断##concat(char1,char2) 文字列の連結#concat('ni','ce')##substr(char,pos,len)部分文字列の取得substr('nice',2,2)ic3##translate(char,key,value)文字マッピングによる翻訳translate('nice','ne','01')0ic1replace( char,old, new)文字列置換##関数名##関数##例
## lower('NICE') nice
##rtrim('nice','e') nic
nice
##instr(char,substr) Check部分文字列の位置 instr('nice','c')
#replace('nice','c','cc') nicce
2. 数値関数

結果

abs(n)#mod(m,n)残りmod(3,2)1sign(n)sign を取得sign(-3)-1ceil (n)切り上げceil(3.2)4フロア(n) 切り捨てfloor(3.2)3round(m,n)指定された小数点以下の桁数に丸めます場所round(3.236,2)3.24power(m,n) mのn乗power(3,2)9sqrt(4 )#2trunc(m,n)truncated3.23##sin(n)sinesin(0)0cos(n)cosinecos(0)1

3.日付関数

絶対値を取る abs(-3) 3
##sqrt(n) 平方根
#trunc(3.233,2 )
add_months(date,m)日付に月数を加算した新しい日付を返しますadd_months('25-August-2020',-1)25- July-2020next_day(date,week)指定された新しい日付の翌週に対応する新しい日付を返します next_day('23-August-2020','Monday')24-August-2020last_day(date) を返します。指定された日付が位置する月の最終日last_day('25-August-2020')31-August-2020 round (date,p)指定された形式に従って日付を四捨五入しますround(to_date('25-August-2020'), 'YEAR')1 - January-2021trunc(date,p)指定された方法で日付を切り詰めますtrunc(to_date('25-8 month - 2020'),'YEAR')01- January-2020
関数名 関数 結果
months_between(date1,date2) 2 日の間の月を返します (カレンダーで date1 が date2 より前の場合は、1 つを返します)負の数、それ以外の場合は正の数が返されます) months_between('01-August-2020', '01-August-2020') 0
注:

    p は YEAR、 round は 1 月から 6 月と 7 月から 12 月に基づいており、yyyy 年の最も近い 1 月に四捨五入されます。trunc は今年の初日に切り取られます。
  • p は MONTH、丸めは 1 ~ 15 日および 16 ~ 30 日に基づいて、最も近い mm 月の 1 日に四捨五入されます。trunc は今月の 1 日までに切り取られます。
  • p は DAY、丸めは月曜日から水曜日と木曜日から日曜日に基づいて、最も近い日曜日に四捨五入されます。 trunc は今週の最初の日にインターセプトされます。

#Oracle 関数の複数行関数

クエリ データの統計の実行
  • グループ化されていない限り、通常のフィールドや単一行関数と混合することはできません
  • 関数名max(フィールド名)min(フィールド名)sum(フィールド名)##avg(フィールド名)このフィールドの平均値を返します##テーブル レコードの数を返しますOracle 関数変換関数
    関数
    フィールドの最大値を返します
    最小値を返しますフィールドの値
    フィールドの合計を返します
    ##count(*)
    #count(フィールド名) null 以外の値の数を返す
    count(個別のフィールド名) フィールド値の数を返す重複排除後

to_number (数値型文字): 文字を変換 数値の場合

    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 値が同じ場合、対応する処理が行われます。存在しない場合は公開処理を行います。
  • 推奨チュートリアル: 「
  • Oracle チュートリアル

以上がオラクル関数とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。