目次
3. 日付関数
4. 変換関数
五、其它单行函数
六、聚合函数
ホームページ データベース Oracle Oracle でよく使用される関数を要約して整理します。

Oracle でよく使用される関数を要約して整理します。

Aug 30, 2022 pm 02:00 PM
oracle

この記事は、Oracleに関する知識を提供するもので、Oracleでよく使われる機能を詳しく解説し、サンプルコードを交えて紹介していますので、皆様の学習や仕事の参考になれば幸いです。 ,みんなが助けてくれることを願っています。

Oracle でよく使用される関数を要約して整理します。

推奨チュートリアル: 「Oracle ビデオ チュートリアル

Oracle データベースでは、主に 2 種類の関数が使用されます。

1. 単一行関数: 1 行のデータを操作し、結果を返します。

    #一般的に使用される単一行関数は次のとおりです:
  • 文字列関数: 文字列を操作します。
  • Number 関数: 数値を計算し、数値を返します。
  • Date 関数: 日付と時刻を処理します。
  • 変換関数: あるデータ型を別のデータ型に変換できます。
2. 集計関数 (複数行関数、グループ関数、グループ関数): 複数行のデータを操作し、結果を返します。たとえば、SUM

1. 文字列関数

文字関数は文字パラメータを受け入れます。これらのパラメータは、テーブル内の列または文字列式です。

一般的に使用される文字関数:

関数説明ASCII(X) 文字の ASCII コードを返します XXX#CONCAT(X,Y)#INSTR(X,STR[,START ][,N)X から str を検索します。start から開始するか、n から開始するかを指定できますLENGTH(X)を返します。 XXLOWER(X)XX の長さは小文字に変換されますUPPER(X)X を大文字に変換しますLTRIM(X[,TRIM_STR])X の左側を切り取りますtrim_str 文字列を削除し、デフォルトでスペースを切り詰めます TRIM([ TRIM_STR FROM]X)X の両側の trim_str 文字列を切り詰めます。デフォルトではスペースは切り取られますREPLACE(X,old,new)X で古いものを見つけて新しいものに置き換えますSUBSTR(X,start[,length]) の文字列を返します#例結果の例SELECT ASCII('a') FROM Dual;
接続文字列
#RTRIM(X[,TRIM_STR]) X の右側の trim_str 文字列を切り詰めます。デフォルトでは Spaces
#97

SELECT CONCAT('Hello','world') FROM Dual;SELECT INSTR ('Hello world', 'または') FROM デュアル;SELECT LENGTH('Hello') FROM デュアル;SELECT LOWER('Hello') FROM デュアル;SELECT UPPER('hello') FROM デュアル; ##SELECT LTRIM('=Hello=','=') FROM Dual;Hello=SELECT RTRIM ('=Hello=','=') FROM デュアル;=HelloSELECT TRIM('='FROM'= Hello=') FROM デュアル; HelloSELECT REPLACE('ABCDE','CD','AAA')FROM Dual; ABAAAESELECT SUBSTR('ABCDE',2,3) FROM Dual;BCD二、数値関数数値関数は数値パラメータを受け入れます。パラメータはテーブル内の列から取得することも、数値式にすることもできます。 #関数説明例
Helloworld
8
5
hello
HELLO

ABS(X)

#ACOS(1)=0

COS(X)XFLOOR(5.8)=5LOG(2,4)=2##MOD(8,3)=2##POWER( 2, 3)=8#ROUND(X[,Y])##XX は Y 番目の位置で四捨五入されますROUND(3.456, 2) =3.46SQRT(X)XSQRT(4)=2## の平方根XX は Y 位置で切り捨てられます
Cosine COS(1)=0.54030230586814## の絶対値 ##CEIL(X)
CEIL(5.4)=6 ## 以上の最小値##FLOOR(X) X
LOG(X,Y) 以下の最大値 XX は底 Y の対数です
MOD(X,Y) X を Y# で割った余り
##POWER(X,Y) X の Y# 乗
#TRUNC(X[,Y])
TRUNC(3.456, 2)=3.45

手順:

1.ROUND(X[,Y])、四捨五入。

デフォルトの y が使用される場合、デフォルトの y=0 になります (例: ROUND(3.56)=4)。

y は正の整数で、小数点以下 y 桁に四捨五入されます。 ROUND(5.654,2)=5.65。

y は負の整数で、小数点の左側の |y| 桁に丸められます。 ROUND(351.654,-2)=400。

2.TRUNC(x[,y])、丸めずに直接インターセプトします。

デフォルトの y が使用される場合、デフォルトの y=0 になります (例: TRUNC (3.56)=3)。

Y は正の整数で、小数点以下 y 桁に丸められます。 TRUNC (5.654,2)=5.65。

y は負の整数で、小数点の左側の |y| 桁に丸められます。 TRUNC (351.654,-2)=300。

3. 日付関数

日付関数は日付を操作します。一般的に使用される日付関数は、

1、ADD_MONTHS(d,n) で、指定された月数 n を特定の日付 d に加算し、計算された新しい日付を返します。

d は日付を表し、n は加算される月数を表します。

例:

SELECT SYSDATE,add_months(SYSDATE,5) FROM dual;
ログイン後にコピー

2、LAST_DAY(d)、指定された月の最後の日を返します。日付。

例:

SELECT SYSDATE,last_day(SYSDATE) FROM dual;
ログイン後にコピー

3, ROUND(d[,fmt])、fmt を返します。は形式の丸められた日付値、d は日付、fmt は形式

モデルです。デフォルトの fmt は DDD、つまり月内の日です。

  • fmt が "YEAR" の場合、特定の年の 1 月 1 日に四捨五入されます。つまり、年の前半は切り捨てられ、後半は切り捨てられます。年は翌年とみなされます。

  • fmt が「MONTH」の場合、ある月の 1 日に四捨五入、つまり前月を切り捨て、月の後半を月とみなします。来月。

  • デフォルトは「DDD」です。つまり、月内の特定の日、最も近い日、その日の前半は破棄され、後半は破棄されます。翌日とみなします。

  • fmt が「DAY」の場合、最も近い週の日曜日に四捨五入されます。つまり、週の前半は破棄され、後半は破棄されます。週は次の週の日曜日とみなされます。

例:

SELECT SYSDATE,ROUND(SYSDATE),ROUND(SYSDATE,'day'),

ROUND(SYSDATE,'month'),ROUND(SYSDATE,'year') FROM dual;
ログイン後にコピー

ROUND に対応する関数は TRUNC(d[,fmt]) で、日付を操作します。 TRUNC ROUND と非常に似ていますが、日付が四捨五入されず、対応する形式の最初の日に直接インターセプトされる点が異なります。

4, EXTRACT(fmt FROM d)、日付の特定の部分を抽出します。

fmt は、年、月、日、時、分、秒です。このうち、YEAR、MONTH、DAY は DATE 型または TIMESTAMP 型と一致しますが、HOUR、MINUTE、SECOND は TIMESTAMP 型と一致する必要があります。

HOUR タイムゾーンは一致結果に追加されないため、中国で実行される結果は 8 時間小さくなります。

例:

SELECT SYSDATE "date",

       EXTRACT(YEAR FROM SYSDATE)"year",

       EXTRACT(MONTH FROM SYSDATE)"month",

       EXTRACT(DAY FROM SYSDATE)"day",

       EXTRACT(HOUR FROM SYSTIMESTAMP)"hour",

       EXTRACT(MINUTE FROM SYSTIMESTAMP)"minute",

       EXTRACT(SECOND FROM SYSTIMESTAMP)"second"

FROM dual;
ログイン後にコピー

4. 変換関数

変換関数は、値をあるデータ型から別のデータ型に変換します。一般的な変換関数は次のとおりです:

1, TO_CHAR(d|n[,fmt])

日付と数値を指定された形式の文字列に変換します。 Fmt はフォーマットされた文字列です。

コードのデモ: 日付の TO_CHAR 処理

SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS')"date" FROM dual;
ログイン後にコピー

コード分析:

フォーマットされた文字列では、double を使用します。書式設定されていない文字を引用符で囲みます。

#数値の書式設定の場合、書式設定文字は次のとおりです:

#.9.9小数点を返す位置を指定します##,$EEEELPR

代码演示:TO_CHAR对数字的处理

SELECT TO_CHAR(-123123.45,'L9.9EEEEPR')"date" FROM dual;
ログイン後にコピー

2、TO_DATE(X,[,fmt])

把一个字符串以fmt格式转换成一个日期类型

3、TO_NUMBER(X,[,fmt])

把一个字符串以fmt格式转换为一个数字

代码演示:TO_NUM函数

SELECT TO_NUMBER('-$12,345.67','$99,999.99')"num" FROM dual;
ログイン後にコピー

五、其它单行函数

1、NVL(X,VALUE)

如果X为空,返回value,否则返回X

例:对工资是2000元以下的员工,如果没发奖金,每人奖金100元

代码演示:NVL函数

SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000;
ログイン後にコピー

-------------------------------------------------------------------

ENAME JOB SAL NVL(COMM,100)

SMITH CLERK 800 100

ALLEN SALESMAN 1600 300

WARD SALESMAN 1250 500

MARTIN SALESMAN 1250 1400

TURNER SALESMAN 1500 50

ADAMS CLERK 1100 100

JAMES CLERK 950 100

-------------------------------------------------------------------

7 rows selected

2、NVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2

例:对EMP表中工资为2000元以下的员工,如果没有奖金,则奖金为200元,如果有奖金,则在原来的奖金基础上加100元

代码演示:NVL2函数

SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm" FROM EMP WHERE SAL<2000;
ログイン後にコピー

-------------------------------------------------------------------

ENAME JOB SAL comm

SMITH CLERK 800 200

ALLEN SALESMAN 1600 400

WARD SALESMAN 1250 600

MARTIN SALESMAN 1250 1500

TURNER SALESMAN 1500 150

ADAMS CLERK 1100 200

JAMES CLERK 950 200

MILLER CLERK 1300 200

-------------------------------------------------------------------------------------------------------

8 rows selected

六、聚合函数

聚合函数同时对一组数据进行操作,返回一行结果,比如计算一组数据的总和,平均值等。

パラメータExample説明
#9999指定した位置に数字を表示
99,99位置 カンマを返します
$999 数値の先頭にドル記号を返します
9.99EEEE科学表記法
L999現地通貨記号を追加する数値の前に
999PR数値が負の場合は、山かっこを使用して表現します
名称作用语法
AVG平均值AVG(表达式)
SUM求和SUM(表达式)
MIN、MAX最小值、最大值MIN(表达式)、MAX(表达式)
COUNT数据统计COUNT(表达式)

例:求本月所有员工的基本工资总和

代码演示:sum函数

SELECT SUM(sal) FROM emp;
ログイン後にコピー

-------------------------------------------------------------------

SUM(SAL)

29025

例:求不同部门的平均工资

代码演示:AVG函数下的分组查询

SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;
ログイン後にコピー

-------------------------------------------------------------------

DEPTNO    AVG(SAL)

---------    ----------

30    1566.66666

20     2175

10    2916.66666

推荐教程:《Oracle视频教程

以上がOracle でよく使用される関数を要約して整理します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracle RACでハードディスクを追加および交換する方法 Oracle RACでハードディスクを追加および交換する方法 Apr 11, 2025 pm 05:39 PM

Oracle RACハードディスク新規および交換操作:ハードディスクの追加:新しいディスクの追加、ASMディスクグループの作成、クラスターへの追加、データファイルの移動。ハードディスクの交換:失敗したハードディスクを識別し、ディスクグループを閉じ、ハードディスクを交換し、ディスクグループを再開し、故障したディスクを修復し、データファイルを移動します。

Oracle Garled Codeを処理する方法 Oracle Garled Codeを処理する方法 Apr 11, 2025 pm 07:00 PM

Oracle Garledの問題は、通常、不適切な文字セット設定によって引き起こされます。ソリューションには、サーバー、データベース、クライアントの文字セットのチェックが含まれます。必要に応じて、サーバー、データベース、およびクライアント文字セットを設定します。 Convert関数またはdbms_lob.convert_lob関数を使用して、文字化けデータを修正します。常に文字セットを指定し、NLSパラメーターを正しく設定します。

Oracleを再び追求する方法 Oracleを再び追求する方法 Apr 11, 2025 pm 07:33 PM

Oracleは複数の重複排除クエリメソッドを提供します。個別のキーワードは、各列の一意の値を返します。 Group by Clauseは、結果をグループ化し、各グループの非繰り返し値を返します。一意のキーワードは、一意の行のみを含むインデックスを作成するために使用され、インデックスをクエリすると自動的に重複排除が行われます。 row_number()関数は、一意の数値を割り当て、行1のみを含む結果をフィルタリングします。min()またはmax()関数は、数値列の非繰り返し値を返します。交差する演算子は、2つの結果セットの共通値を返します(複製なし)。

Oracleの表空間サイズを確認する方法 Oracleの表空間サイズを確認する方法 Apr 11, 2025 pm 08:15 PM

Oracle Tablespaceサイズを照会するには、次の手順に従ってください。クエリを実行して、TableSpace名を決定します。DBA_TABLESPACesからTableSpace_Nameを選択します。クエリを実行してテーブルスペースのサイズをクエリします:sum(bytes)をtotal_size、sum(bytes_free)asavail_space、sum(bytes) - sum(bytes_free)as sum(bytes_free)as dba_data_files from tablespace_

クラウドサーバーに接続する方法 クラウドサーバーに接続する方法 Apr 11, 2025 pm 06:51 PM

Oracleクライアントを介してクラウドサーバーに接続する手順は次のとおりです。SSHキーを作成し、公開キーをクラウドサーバーにコピーします。 Oracleクライアントを構成し、クラウドサーバーの接続情報をtnsnames.oraファイルに追加します。 Oracleクライアントに新しいデータベース接続を作成し、ユーザー名、パスワード、およびDSNを入力します。 [OK]をクリックして、接続が成功していることを確認します。

Oracleデータベースの基本知識の概要 Oracleデータベースの基本知識の概要 Apr 11, 2025 pm 06:33 PM

Oracleデータベースは、信頼性が高く、スケーラブルで機能が豊富なリレーショナルデータベース管理システム(RDBMS)です。そのアーキテクチャは、サーバー側コンポーネント(Oracle Net)、インスタンス、共有メモリ領域(SGA)、バックグラウンドプロセス、データを保存するデータベースファイルなど、クライアントサーバーモデルに従います。基本的な概念には、表、行、列、一次キー、外部キー、インデックス、カーソルが含まれます。このデータベースは、高可用性、ビッグデータサポート、豊富な機能、強力なセキュリティ、使いやすさなどの利点で知られています。

Oracle文字セットを変更する方法 Oracle文字セットを変更する方法 Apr 11, 2025 pm 06:57 PM

Oracle文字セットを変更するには、以下が必要です。データベースをバックアップします。 init.oraファイルの文字設定設定を変更します。データベースを再起動します。既存のテーブルと列を変更して、新しい文字セットを使用します。データをリロードします。データベースリンク(オプション)を変更します。

Oracleのストアドプロシージャの使用方法 Oracleのストアドプロシージャの使用方法 Apr 11, 2025 pm 07:03 PM

ストアドプロシージャは、データベースに保存できるSQLステートメントのセットであり、別のユニットと繰り返し呼ぶことができます。パラメーター(in、out、inout)を受け入れ、コードの再利用、セキュリティ、パフォーマンス、モジュール性の利点を提供できます。例:ストアドプロシージャを作成して、2つの数値の合計を計算してOUTパラメーターに保存します。

See all articles