[置顶] ORACLE编程的套路字符串分解
作 者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。 代码如下,作者保留所有权。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) return fs.stringList IS/*********
作者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。
代码如下,作者保留所有权。
create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) return fs.stringList IS /***************************************************************************/ /* */ /* 字符串分割函数 for ORACLE */ /* @param v_string 母字符串 */ /* @param v_sep 分隔符 */ /* @return 字符串列表 */ /* TYPE stringList IS TABLE OF VARCHAR2(256) INDEX BY BINARY_INTEGER; */ /* @author foolstudio@qq.com */ /* All rights reserved. 未经许可,不得用于商业用途 */ /* */ /***************************************************************************/ --分隔符长度 C_LEN int; --删除空格后的字符串 v_str varchar2(256); --分隔符位置 v_pos int; --子字符串 v_sub varchar2(256); --数组计数器 v_i int; --结果 Result fs.stringList; BEGIN v_str := TRIM(v_string); --dbms_output.put_line(v_str); v_pos := INSTR(v_str, v_sep); v_i := 0; C_LEN := LENGTH(v_sep); --无匹配,整字符串返回 IF v_pos 0 THEN Result(v_i) := v_str; return Result; END IF; WHILE v_pos > 0 LOOP v_sub := SUBSTR(v_str, 0, v_pos-1); --添加到结果数组 IF LENGTH(v_sub) > 0 THEN Result(v_i) := v_sub; v_i := v_i+1; END IF; --dbms_output.put_line(v_sub); v_str := SUBSTR(v_str, v_pos+C_LEN); --dbms_output.put_line(v_str); v_pos := INSTR(v_str, v_sep); END LOOP; --已无匹配,剩余字符串添加到结果数组 IF LENGTH(v_str) > 0 THEN Result(v_i) := v_str; END IF; --调试输出结果 dbms_output.put_line('列表项数量: '||result.count() ); dbms_output.put_line('--['||v_string||'] split by ['||v_sep||']--'); v_i := 0; FOR v_i IN 0..(result.count()-1) LOOP dbms_output.put_line('('||v_i||'): '||result(v_i) ); end loop; --返回结果数组 return Result; END FUN_STRING_SPLIT;
代码注释相当详细,不再对代码进行解释。
经测试,代码支持ORACLE 10及以上版本。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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_

Oracle View暗号化により、ビュー内のデータを暗号化でき、それにより機密情報のセキュリティが強化されます。手順には以下が含まれます。1)マスター暗号化キー(MEK)の作成。 2)暗号化されたビューを作成し、暗号化されるビューとMEKを指定します。 3)暗号化されたビューにアクセスすることをユーザーに許可します。暗号化されたビューがどのように機能するか:ユーザーが暗号化されたビューを求めてクエリをするとき、OracleはMEKを使用してデータを復号化し、認定ユーザーのみが読み取り可能なデータにアクセスできるようにします。

Oracleでインスタンス名を表示するには3つの方法があります。「sqlplus」と「v $ instanceからselect instance_name;」を使用します。」コマンドラインのコマンド。 「show instance_name;」を使用しますSQL*Plusのコマンド。オペレーティングシステムのタスクマネージャー、Oracle Enterprise Manager、またはオペレーティングシステムを介して、環境変数(LinuxのOracle_Sid)を確認してください。

Oracleインストール障害のためのアンインストールメソッド:Oracleサービスを閉じ、Oracleプログラムファイルとレジストリキーを削除し、Oracle環境変数をアンインストールし、コンピューターを再起動します。アンインストールが失敗した場合、Oracle Universal Uninstallツールを使用して手動でアンインストールできます。

Oracleで時間を取得するには、次の方法があります。Current_Timestamp:現在のシステム時間を秒に正確に返します。 systimestamp:current_timestampよりも正確で、ナノ秒。 sysdate:時間部分を除く現在のシステム日付を返します。 to_char(sysdate、 'yyy-mm-dd hh24:mi:ss'):現在のシステムの日付と時刻を特定の形式に変換します。抽出:1年、月、時間など、時間の値から特定の部分を抽出します。

データインポート方法:1。SQLLOADERユーティリティを使用します。データファイルを準備し、制御ファイルを作成し、SQLLoaderを実行します。 2。IMP/EXPツールを使用します。データをエクスポートし、データをインポートします。ヒント:1。ビッグデータセットに推奨されるSQL*ローダー。 2。ターゲットテーブルが存在する必要があり、列定義が一致します。 3。インポート後、データの整合性を検証する必要があります。

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

Oracleでユーザーを作成するには、次の手順に従ってください。Createユーザーステートメントを使用して新しいユーザーを作成します。助成金ステートメントを使用して必要な権限を付与します。オプション:リソースステートメントを使用してクォータを設定します。デフォルトの役割や一時テーブルスペースなど、他のオプションを構成します。
