ホームページ データベース Oracle Oracleで文字列内の一部の文字をインターセプトする方法

Oracleで文字列内の一部の文字をインターセプトする方法

Feb 14, 2022 pm 12:47 PM
oracle インターセプト文字列

Oracle では、Instr() 関数と substr() 関数を使用して、文字列内の文字の一部をインターセプトできます。構文は、「SUBSTR('インターセプトする文字列', インターセプト開始位置, INSTR( '必須インターセプト文字列、'、'検索開始位置'、'出現回数')-1) "。

Oracleで文字列内の一部の文字をインターセプトする方法

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

oracle はフィールド内の文字列の一部をインターセプトします

Oracle で Instr() 関数と substr() 関数を使用します:

Oracle では、instr 関数を使用して文字列に指定した文字が含まれているかどうかを判定できます。

構文は次のとおりです:

instr(sourceString,destString,start,appearPosition).   
instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')
ログイン後にコピー

ここで、

  • sourceString はソース文字列を表し、

  • destString はソース文字列を表します。ソース文字列内で検索される部分文字列。

  • start は検索の開始位置を表します。このパラメータはオプションで、デフォルトは 1 です。

  • AppearancePosition は、ソース文字から destString が出現する回数を表します。このパラメータもオプションで、デフォルトは 1 です。

start の値が負の数の場合、それは意味します。検索は右から左に実行されますが、位置データは依然として左から右に計算されます。

戻り値は、見つかった文字列の位置です。

instr 関数の場合、よく次のように使用します。文字列から指定された部分文字列の位置を見つけます。例:

SQL> select instr('yuechaotianyuechao','ao') position from dual;
 POSITION
 ----------
 6
ログイン後にコピー

7 番目の文字から検索を開始します

SQL> select instr('yuechaotianyuechao','ao', 7) position from dual;
 POSITION
 ----------
 17
ログイン後にコピー

最初の文字から開始し、部分文字列の 2 番目の出現を検索します

SQL> select instr('yuechaotianyuechao','ao', 1, 2) position from dual;
 POSITION
 ----------
 17
ログイン後にコピー

instr 関数の場合、次のようにします。多くの場合、次のように使用します。文字列内の指定された部分文字列の位置を検索します。例:

SQL> select instr('abcdefgh','de') position from dual; 
POSITION 
---------- 
4
ログイン後にコピー

1から始まると、dは4番目にランクされるので、4が返されます

SQL>select instr('abcdefghbc','bc',3) position from dual; 
POSITION 
---------- 
9
ログイン後にコピー

3番目の文字から始まる3番目の文字はcなので、3から始まる文字列 bcを検索し、return 9

substr 関数を使用すると、文字列内の指定された開始位置と長さの文字列を取得します。デフォルトは開始位置から末尾までの部分文字列です。

 substr( string, start_position, [ length ] )       substr('目标字符串',开始位置,长度)
ログイン後にコピー

例:

      substr('This is a test', 6, 2)     would return 'is' 
      substr('This is a test', 6)     would return 'is a test' 
      substr('TechOnTheNet', -3, 3)     would return 'Net' 
      substr('TechOnTheNet', -6, 3)     would return 'The'select substr('Thisisatest', -4, 2) value from dual
ログイン後にコピー

SUBSTR() function

1. 目的: 指定された文字式またはメモ フィールドの部分文字列から文字列を返します。

2. 文法形式:

substr(string string, int a, int b);
substr(string string, int a) ; 
ログイン後にコピー

形式 1:

1. string インターセプトされる文字列

2. a インターセプトされる文字列の開始位置string (注: a が 0 または 1 の場合、インターセプトは最初のビットから開始されます)

3. b インターセプトする文字列の長さ

形式 2:

1. string インターセプトする必要がある文字列

2. a は、a 番目の文字から始まる後続のすべての文字列をインターセプトするものとして理解できます。

oracle は文字列

C3411.907w15 を文字列 C3411 のドットの前でインターセプトします SUBSTR ('C3411.907w15', 0, INSTR ('C3411.907w15 , '.', 1, 1) - 1)

SELECT SUBSTR ('C3411.907w15', 0, INSTR ('C3411.907w15, '.', 1, 1) - 1)
  FROM DUAL
ログイン後にコピー

C3411.907w15 のドットの後の文字列 907w15 をインターセプト SUBSTR ('C3411.907w15', INSTR ('C3411.907w15', '.' , 1) , 1) 1)

SELECT SUBSTR ('C3411.907w15', INSTR ('C3411.907w15', '.', 1, 1)+1)
  FROM DUAL
ログイン後にコピー

プロジェクト適用例:

元の文字列:

オリジナル 7つありますフィールドに「_」が入っています。最後の「_」以降の文字列を取り出したいのですが、どうすれば解決できますか?

2 つのステップ:

最初のステップは、Instr() 関数を使用して 7 番目の「_」文字を見つけることです:

select instr('Q room Netグループ_証券部門_華南地区_深セン市華_営業部_南山前海地区_前海中央エリア_前海第五支店','_', 1, 7) fdisplayname from SHENZHENJM1222.B

または:

select instr('Qfang.com グループ_証券部門_華南地区_深セン市華_事業部_南山前海地区_前海センターエリア_前海五份支店', '_', -1, 1) fdisplayname FROM SHENZHENJM1222.B

#どちらも同じ効果です 下の -1 は右から数えることを意味します 1 は最初の "_" を取得することを意味します

得られた結果は図のとおりです:

ステップ 2、substr() 関数を使用して必要なフィールドを取得します。

select substr (

fdisplayname,instr(fdisplayname,'_',-1 ,1) 1) SHENZHENJM1222 の fdisplayname.B

fdisplayname: を表します。フィールド名、メタ文字列に相当します

導入部分に重点を置きます

1

1 は、ターゲット文字列 "_" の後の最初の文字列のインターセプトを開始することを意味します。

さまざまな数値の状況を見てみましょう:

#select substr(

fdisplayname ,instr( fdisplayname,'_',-1,1) 1) SHENZHENJM1222 からの fdisplayname.B

instr(fdisplayname,'_',-1,1) の 1 の意味を見てみましょう。

# 推奨チュートリアル: 「

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

オラクルを開けない場合はどうすればよいですか オラクルを開けない場合はどうすればよいですか Apr 11, 2025 pm 10:06 PM

Oracleのソリューションを開くことはできません。1。データベースサービスを開始します。 2。リスナーを開始します。 3.ポートの競合を確認します。 4.環境変数を正しく設定します。 5.ファイアウォールまたはウイルス対策ソフトウェアが接続をブロックしないことを確認してください。 6.サーバーが閉じているかどうかを確認します。 7. RMANを使用して破損したファイルを回復します。 8。TNSサービス名が正しいかどうかを確認します。 9.ネットワーク接続を確認します。 10。Oracleソフトウェアを再インストールします。

Oracle Cursorを閉じる問題を解決する方法 Oracle Cursorを閉じる問題を解決する方法 Apr 11, 2025 pm 10:18 PM

Oracle Cursorの閉鎖問題を解決する方法には、次のものが含まれます。 Scopeが終了した後に自動的に閉じるように、for update句のカーソルを宣言します。使用句のカーソルを宣言して、関連するPL/SQL変数が閉じられたときに自動的に閉じるようにします。例外処理を使用して、例外の状況でカーソルが閉じていることを確認します。接続プールを使用して、カーソルを自動的に閉じます。自動送信を無効にし、カーソルの閉鎖を遅延させます。

Oracle Loopでカーソルを作成する方法 Oracle Loopでカーソルを作成する方法 Apr 12, 2025 am 06:18 AM

Oracleでは、forループループは動的にカーソルを作成できます。手順は次のとおりです。1。カーソルタイプを定義します。 2。ループを作成します。 3.カーソルを動的に作成します。 4。カーソルを実行します。 5。カーソルを閉じます。例:カーソルをサイクルごとに作成して、上位10人の従業員の名前と給与を表示できます。

Oracleビューをエクスポートする方法 Oracleビューをエクスポートする方法 Apr 12, 2025 am 06:15 AM

Oracleビューは、Exputility:Oracleデータベースにログインしてエクスポートできます。 Expユーティリティを開始し、ビュー名とエクスポートディレクトリを指定します。ターゲットモード、ファイル形式、テーブルスペースなどのエクスポートパラメーターを入力します。エクスポートを開始します。 IMPDPユーティリティを使用してエクスポートを確認します。

Oracleログがいっぱいの場合はどうすればよいですか Oracleログがいっぱいの場合はどうすればよいですか Apr 12, 2025 am 06:09 AM

Oracleログファイルがいっぱいになると、次のソリューションを採用できます。1)古いログファイルをクリーンします。 2)ログファイルサイズを増やします。 3)ログファイルグループを増やします。 4)自動ログ管理をセットアップします。 5)データベースを再発射化します。ソリューションを実装する前に、データの損失を防ぐためにデータベースをバックアップすることをお勧めします。

HDFSでCentosを構成するために必要な手順 HDFSでCentosを構成するために必要な手順 Apr 14, 2025 pm 06:42 PM

CENTOSシステムにHadoop分散ファイルシステム(HDFS)を構築するには、複数のステップが必要です。この記事では、簡単な構成ガイドを提供します。 1.初期段階でJDKをインストールする準備:すべてのノードにJavadevelopmentKit(JDK)をインストールすると、バージョンはHadoopと互換性がある必要があります。インストールパッケージは、Oracleの公式Webサイトからダウンロードできます。環境変数構成: /etc /プロファイルファイルを編集し、JavaおよびHadoop環境変数を設定して、システムがJDKとHadoopのインストールパスを見つけることができるようにします。 2。セキュリティ構成:SSHパスワードなしログインSSHキーを生成する:各ノードでSSH-KeyGenコマンドを使用する

ビジネスの世界におけるオラクルの役割 ビジネスの世界におけるオラクルの役割 Apr 23, 2025 am 12:01 AM

Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

Oracleデータベースを停止する方法 Oracleデータベースを停止する方法 Apr 12, 2025 am 06:12 AM

Oracleデータベースを停止するには、次の手順を実行します。1。データベースに接続します。 2。すぐにシャットダウンします。 3.シャットダウンは完全に中止します。

See all articles