初めてのシステムと日記

システムも日記も初めてです。

Oracle

EXPLAIN PLANでの実行計画取得

複数のTABLEをJOINしたSELECT文などのSQL文で処理が重たい場合、SQL分の実行計画からどこの処理が重たいかを確認することができます。実行計画はSQL文の前にEXPLAIN PLAN文を付ける事で取得できます。 EXPLAIN PLAN FOR SELECT * FROM [table_name];この文で…

CSV出力

SELECT文などの問い合わせ結果をCSVに出力。流れは以下の通り。 1.CSV出力のための設定 //コンソールメッセージ非表示 SQL> set echo off //1レコードの表示が1行に収まるように調節する SQL> set linesize 1000 //ページ間のセパレータが無くなる SQL> set …

SPOOL

SELECT文などの問い合わせ結果をファイルに記録。流れは以下の通り。 1.ファイルを指定 SQL> SPOOL hoge.txt hoge.txt への記録を開始します。2.現在のスプール状態を表示・確認 SQL> SPOOL 現在のスプーリング先はhoge.txtです。3.ファイルへの記録を停止 S…

全文検索

OracleTextを用いて全文検索を行う方法。OracleTextを用いれば、 ・スペースの有無 ・「・」の有無 ・全角、半角の違いなども考慮されて検索されます。 OracleTextの使用方法は 1.プリファレンス作成 2.索引の作成 3.検索を行う。 ■プリファレンス作成OracleTex…

TO_DATE

いつも忘れてしまうのでメモ。■TO_DATE(文字列, 日付書式) 日付書式 の形式で指定した、文字列 をDATE型に変換する。 insert into [table_name] values(to_date('2006/02/21 15:35:23','yyyy/mm/dd hh24:mi:ss'));参照URL http://oracle.se-free.com/dml/07_…

SELECT文のフォーマット

いつもWHEREやGROUPBYの記述する順番など忘れてしまうのでメモ SELECT (ALL | DISTINCT(UNIQUE)) { * || [列名] (AS [列別名]),… } FROM [表名] ([表別名]) , … [WHERE <条件式>] [GROUP BY <式>] [HAVING <条件式>] [ORDER BY { <列名> | <列番号> } [ASC …

DISTINCT

SELECT文でレコードを取ってくる際に、重複を除外するケースがあった。 重複レコードを除外する場合、DISTINCTを使用する。 SELECT DISTINCT [col_name1],[col_name2],... FROM [table_name]

ORDER BYでのnullの取扱

ひっかかったのでメモ。 ID TEST -- ---- 1 100 2 3 3 null 4 40 SELECT * FROM table_name ORDER BY TEST ASC; ID TEST -- ---- 2 3 4 40 1 100 3 null nullは末尾に配置 SELECT * FROM table_name ORDER BY TEST DESC; ID TEST -- ---- 3 null nullは先頭…