BEAGLE-HC 医薬品、医療機器の研究・開発 ポータルサイト
 現在位置 : HOME > ITの活用 プログラミング > SQL > PL/SQL コードライブラリアン(関数)
くすりのこと
 治療薬の最前線
データブック
 ヘルスケア市場
 データブック
 (売上ランキング)
ニュース
 企業ニュース
 (パイプラインニュース)
 (財務・決算ニュース)
 (M&Aニュース)
 メディアニュース
ITの活用
 バリデーション
 セキュリティ
 WORD文書の作成
 プログラミング
 (Word/VBA)
 (Excel/VBA)
 (Access/VBA)
 (SAS)
 (SQL)
イベント
 イベントカレンダ
製薬会社研究
 製薬会社
 製薬会社研究
 決算短信一覧
 
 
Word/VBA プログラミング Excel/VBA プログラミング Access/VBA プログラミング
SAS プログラミング SQL LiveCycle Designer
 
記述の規則 プログラム制御 関数 SQL文
ストアドプロセジャー ファイル操作 例外処理  
 
メッセージ表示(DBMS_OUTPUT)
DBMS_OUTPUT は、SQL*Plus にメッセージを表示します。PL/SQL プロックやストアドのデバッグに使用すると便利です。

メッセージを 1 行出力する
  DBMS_OUTPUT.PUT_LINE('エラー件数は' || error_no || '件です。');

改行コードを出力する
  DBMS_OUTPUT.NEW_LINE;
 
文字列の操作
文字をASCIIコードに変換する(ASCII)
  ASCII(文字)

ASCIIコードを文字に変換する(CHR)
  CHR(ASCIIコード) 。

文字列を連結する(CONCAT)
  CONCAT(文字列, 文字列),   ||演算子でも結合できます。

文字列の検索を行う(INSTR)
  INSTR(検索対象文字列, 検索する文字列[,1から始まる検索開始位置[,ヒット回数]]
  検索開始位置に負の値を指定した場合、検索対象文字列の後ろからカウントします。
  ヒット回数を指定した場合、指定された回数目にヒットした位置が返ります。

文字列の長さを返す(LENGTH)
  LENGTH(文字列)
  マルチバイト文字も1文字としてカウントされます。

英字を小文字にして返す(LOWER)
  LOWER(文字列)

文字列を大文字に変換する(UPPER)
  UPPER(文字列)

文字列の左側を指定された文字列で埋める(LPAD)
  LPAD(文字列, 調整後の文字列長, 文字列)
  文字列長はバイト単位で指定します。

文字列の右側を指定された文字列で埋める(RPAD)
  RPAD(文字列, 調整後の文字列長, 文字列)
  文字列長はバイト単位で指定します。

文字列の左側の空白を除去する(LTRIM)
  LTRIM(文字列)

文字列の右側の空白を除去する(RTRIM)
  RTRIM(文字列)

文字列の置換を行う(REPLACE)
  REPLACE(変換対象文字列, 置換前文字列, 置換後文字列)

指定した文字数分の文字列を抽出する(SUBSTR)
  SUBSTR(文字列, 抽出開始位置, 抽出文字数)
  マルチバイト文字も1文字としてカウントされます。
 
(文字列関数の使用例)
'list_a(50バイト)内にある "ABC" の数をカウントします。
Declare
 list_a VARCHAR2(50) := 'XXXABCXXXXXABCXXXXXABCXXXXXXABCXXXXXXXXXABCXXXXABC';
 cnt NUMBER(4) :=0;
 a NUMBER(4);
Begin
 LOOP
  a := InStr(list_a, 'ABC');
  If a > 0 Then
   cnt := cnt + 1;
   list_a := SUBSTR(list_a, a + 3, LENGTH(list_a) - a - 2);
  ELSE
   EXIT;
  End IF;
 END LOOP;
 dbms_output.put_line ('ABC'は " || cnt || '個ありました'));
End;
 
型変換
文字列をrowid型に変換する(CHARTOROWID)
  chartorowid(文字列)

16進を含む文字列をraw型に変換する(HEXTORAW)
  hextoraw(文字列)

raw値を16進で表した文字列に変換する(RAWTOHEX)
  rawtohex(raw値)

rowidをvarchar2型に変換する(ROWIDTOCHAR)
  rowidtochar(rowid値)

日付を文字列に変換する。その際、指定した書式を適応する(TO_CHAR)
  to_char(日付, 日付書式)

  例 st_date char(6);
     hire_date DATE := SYSDATE;
     st_date := TO_CHAR(hire_date, 'YYMMDD');    -- hire_dateをYYMMDD形式の文字列に変換する

数値を文字列に変換する。その際、指定した書式を適応する(TO_CHAR)
  to_char(数値, 数値書式)

文字列日付に変換する。その際、指定した書式を適応する(TO_DATE)
  to_date(文字列, 日付書式)

l
ong、long raw値をlob型に変換する(TO_LOB)
  to_lob(long値)

シングルバイト文字列を対応するマルチバイト文字列に変換する(TO_MULTI_BYTE)
  to_multi_byte(文字列)

文字列を数値に変換する。その際、指定した書式を適応する(TO_NUMBER)
  to_number(文字列, 数値書式)

マルチバイト文字列を対応するシングルバイト文字列に変換する(TO_SINGLE_BYTE)
  to_single_byte(文字列)
 
SQL関数
最大の値を求める(MAX)
 SELECT MAX(salary) FROM employee ;

最小の値を求める(MIN)
 SELECT MIN(salary) FROM employee ;

平均値を求める(AVR)
 SELECT AVG(salary) FROM employee ;

列の行数を数える(COUNT)
 SELECT COUNT(employee_id) FROM employee ;

合計値を求める(SUM)
 SELECT SUM(salary) FROM employee ;

(SQL関数の使用例)
-- 表EMPYOYEESから、MANAGER_ID ごとの平均給与(SALARY)を求めます。

Declare
 CURSOR cur IS SELECT manager_id , AVG (salary) salary FROM employees GROUP BY manager_id;
Begin
 FOR employeesrec IN cur LOOP
  dbms_output.put_line (employeesrec.manager_id || ' ' || employeesrec.salary);
 END LOOP;
End;

↑ このページの最初へ

   ご意見・ご感想をお寄せください。 ‖ お問い合わせはこちらから ‖ このサイトについて           サイトマップ  ‖
  Copyright 2006 - 2013 uTRAM Corp. All Rights Reserved
 
PHARCIS(ヘルスケア最新情報提供)
Facebook for PHARCIS
ClinMark8
アクセスランキング
(2013年5月)

1位 企業ニュース
2位 売上ランキング
3位 メディアニュース
4位 製薬会社
5位 治療薬の最前線
6位 決算短信一覧
7位 データブック
8位 製薬会社研究
9位 イベントカレンダ
10位 パイプラインニュース