2010年02月24日

指定の文字列を置換する REPLACE関数

SELECT REPLACE(
      項目名,
      '置換する文字',
      '置換後の文字'
)
FROM TABLENAME;


例)項目名KOUMOKUが「XXXYYYZZZ」だったとする。

SELECT REPLACE(KOUMOKU,'Y','*')
FROM TABLENAME;

結果:XXX***ZZZ
posted by ピラクル at 18:11| Comment(0) | TrackBack(0) | SQLテクニック

出力項目を結合する(文字列の結合) ||

出力項目を || 縦の棒二本で結合できる


SQL===========================

SELECT XXX || YYY
FROM TABLENAME ;

結果============================

XXXの文字列とYYYの文字列が結合される。
例)XXX→HELLO YYY→WELCOM
ならば
HELLOWELCOM
と出力

===============================


concat()関数を使っても同様の結合が出来る


concat(XXX,YYY)
posted by ピラクル at 17:50| Comment(0) | TrackBack(0) | SQLテクニック

2010年02月18日

DB内のテーブル名を確認する

以下のSQLで全てのDB内のテーブル名が取得できる

SELECT TABLE_NAME
FROM ALL_TABLES



現在、ログイン中のユーザーのテーブル名は「USER_TABLES」

SELECT TABLE_NAME
FROM USER_TABLES



テーブル名を指定する「WHERE」句も使用可能

SELECT TABLE_NAME
FROM ALL_TABLES
WHERE TABLE_NAME like '%検索したいテーブル名%'



「TAB」でも可!スキーマテーブル名の表示

SELCT TABLE_NAME
FROM TAB
;
posted by ピラクル at 13:00| Comment(0) | TrackBack(0) | SQLテクニック

2010年02月17日

【SQL*PLUS】テーブル定義を確認する

descコマンドでテーブルの列名称/NULL/データ型
などのテーブル定義を確認する


コマンド--------------------------------------
desc テーブル名;
----------------------------------------------


結果------------------------------------------

名前 Null? データ型
------- --------- -----------
列名1 NOT NULL VARCHAR2(6)
列名2 DATE

----------------------------------------------
posted by ピラクル at 18:00| Comment(0) | TrackBack(0) | SQL*PLUS

2010年02月12日

DBリンクについて

1つのSQLから違う環境へDBリンクを使って問合せできる。


■どの環境へDBリンクが使用可能か調べる

SELECT *
FROM ALL_DB_LINKS
;

上記SQLで他環境へのリンク名「DB_LINK」が表示されるので


SELECT *
テーブル名+「@」+「DB_LINK」
WHERE ・・・
;


でテーブルを取得できる。


例)「001」という環境の「USER」テーブルを参照したいとき
「001」環境へのリンク名が「DB001」だったとする

SELECT *
FROM USER@DB001
;

posted by ピラクル at 12:03| Comment(0) | TrackBack(0) | SQLテクニック