Sybase R Adaptive Server Enterprise Transact-SQL:ヒントとテクニック 大 谷 一 夫 Transact-SQL Programming Tips Kazuo Otani
注 意 著 者 は 本 書 に 記 述 された 内 容 について 米 国 法 人 Sybase Inc. の SQL Server および Adaptive Server Enterprise の 各 リリースで 動 作 を 確 認 し 正 確 さを 期 しておりますが 本 書 の 記 載 内 容 を 参 照 することによって 現 在 および 将 来 にわたり 直 接 および 間 接 的 になんらかの 損 害 が 発 生 したとしても 著 者 および Sybase Inc サイベース 株 式 会 社 は それに 対 して 責 任 を 負 いません また Sybase Inc. およびサイベース 株 式 会 社 は 本 書 の 内 容 になんら 保 証 を 与 えるもので はなく 本 書 に 関 するご 質 問 やお 問 い 合 わせには 対 応 できません 著 者 へのお 問 い 合 わせは 最 後 のページを 参 照 してください 本 書 の 内 容 を 著 者 の 書 面 による 事 前 許 可 を 得 ずに いかなる 手 段 によっても 複 製 転 載 する ことを 禁 じます Transact-SQL の 文 法 や 動 作 また 本 書 の 内 容 の 確 認 のために ぜひ Sybase Adaptive Server Enterprise のマニュアルをご 用 意 ください 製 品 のマニュアルはサイベース 株 式 会 社 のホームページからダウンロードできます www.sybase.co.jp/product/manuals/index.html アクセスできないときは サイベース 株 式 会 社 にお 問 い 合 わせください Copyright 2003 Sybase, Sybase のロゴは 米 国 法 人 Sybase Inc. の 登 録 商 標 です SQL Server Adaptive Server Enterprise Replication Server Transact-SQL Open Client Adaptive Server IQ Sybase IQ Enterprise Application Server SQL Anywhere Studio および SQL Remote は 米 国 法 人 Sybase Inc. ま たはその 子 会 社 の 商 標 です なお 本 文 中 には TM R マークは 明 記 しておりません Windows NT は 米 国 法 人 Microsoft Corporation の 商 標 です
Sybase Adaptive Server Enterprise Transact-SQL:ヒントとテクニック 目 次 : Want to do リスト 第 1 章 Transact-SQL プログラミングのヒントと 注 意 オブジェクト 名 のネーミングの 注 意 は 1-3 自 分 がいまアクセスしているデータベース 名 を 知 りたい.. 1-3 カレント データベースからほかのデータベースのテーブルに アクセスしたい. 1-3 テーブル 名 カラム 名 を 日 本 語 にしたい 1-4 ANSI SQL と Transact-SQL の 違 いを 認 識 したい 1-5 Sybase ASE でトランザクションはどのように 扱 われるか 1-6 明 示 的 に Commit/rollback するまでをひとつのトランザクションにしたい 1-6 新 しいローを 挿 入 するたびに 自 動 的 に+1する 連 番 を 振 りたい 1-7 検 索 結 果 を 表 示 する 代 わりにテンポラリ テーブルに 保 存 したい 1-8 Transact-SQL でコメントはどのように 入 れるのか 1-8 テーブルの 構 造 と 含 まれるローをコピーしたい 1-9 テーブルの 構 造 だけコピーして 空 テーブルを 作 りたい 1-9 select 文 にはどのような 種 類 があるのか 1-11 ローカル 変 数 はどのように 宣 言 するのか 1-12 ローカル 変 数 の 使 い 方 の 例 が 欲 しい 1-13 ローカル 変 数 使 用 上 の 制 約 1-14 オブジェクト 名 に 変 数 は 使 用 できない 配 列 は 使 えないなど グローバル 変 数 とはなにか 1-15 いまログインしている ASE のバージョンを 知 りたい 1-15 SQL の 実 行 後 に 実 行 が 成 功 したかどうかを 調 べたい 1-15 update の 実 行 によって 何 行 が update されたかを 知 りたい 1-15 if 文 はどのように 使 用 するのか 1-16 if exists 文 はどのようなときに 使 用 するのか 1-17 同 じ 処 理 を 繰 り 返 しループさせたいときはどうするか 1-18 goto 文 はどのように 使 用 するのか 1-18 N 分 ( 秒 )ごとにある SQL 文 を 繰 り 返 し 実 行 したい 1-19 1 日 のある 特 定 の 時 刻 になったら 指 定 された SQL 文 を 実 行 したい 1-19 カーソルとは 何 か どのように 使 うのか 1-20 ストアド プロシージャの 作 成 と 実 行 方 法 は 1-21 ストアド プロシージャにパラメータを 渡 したい 1-22 パラメータを 渡 さなかったときのデフォルトを 設 定 したい 1-23 トリガの 作 成 方 法 は 1-24 トリガ 内 で 使 用 できる inserted, deleted テーブルとは 1-25 カラム 見 出 しを 変 更 したい 1-27 order by にカラム 名 でなくカラム 見 出 しを 使 いたい 1-28 大 量 のローを 持 つテスト テーブルを 作 りたい = 同 じ SQL 文 を 複 数 回 実 行 したい 1-29 if 文 で in, between, like を 使 いたい 1-30 数 値 の10 進 16 進 変 換 を 行 ないたい 1-31 ASCII 文 字 を ASCII コードに またコードを 文 字 に 変 換 したい 1-32 全 角 半 角 文 字 を 文 字 コードに 変 換 したい 1-32 文 字 列 の 中 のスペースが 全 角 スペースか 半 角 スペース2つか 調 べたい 1-32 use コマンド 使 用 の 注 意 は 1-33 サーバ 内 の 全 データベースのサイズと 使 用 済 み 容 量 を 調 べたい 1-34 SQL 文 を 実 行 するときにテーブル 名 やカラム 名 を 動 的 に 変 更 したい 1-35
ローカル 変 数 への 定 数 の 代 入 を 高 速 化 したい 1-37 条 件 を 満 たすローが 存 在 するかチェックしたい 1-38 該 当 データがあれば update なければ insert を 行 う 処 理 を 高 速 化 したい 1-39~40 該 当 データがあれば 別 のテーブルに insert する 処 理 を 高 速 化 したい 1-41 update 前 後 の 値 を 効 率 よくローカル 変 数 に 保 存 したい 1-42~43 isql の 中 から OS のコマンドを 実 行 したい 1-45 入 力 ファイルを isql に 読 み 込 ませたい 1-46 isql の 実 行 結 果 をファイルに 出 力 したい 1-46 isql にログインしたときデフォルトのトランザクション モードを 連 鎖 モードにしたい 1-47 多 数 のローが 表 示 されるときカラム 見 出 しを 繰 り 返 し 表 示 したい 1-48 検 索 結 果 にカラム 見 出 しが 表 示 されないようにしたい 1-49 エラーメッセージが 表 示 されないようにしたい 1-50 整 数 型 カラムに 実 数 値 を 代 入 するときの 注 意 1-52~54 文 字 列 を 囲 む 引 用 符 がデータとして 出 現 するときは どのように SQL 文 を 書 くか 1-55 文 字 列 を 囲 む 引 用 符 を 使 用 するときの 注 意 1-56 text 型 カラムでは where 句 の 条 件 指 定 で=や!=が 使 えない 1-57 text カラムの 値 が NULL のローを 検 索 するにはどうするか 1-57 長 さ0バイトの NULL 文 字 列 はどのように 表 現 するか 1-58 テンポラリ テーブルを 作 ろうとすると 存 在 していないのに すでに 存 在 している というエラーが 出 る 1-59 AND と OR が 含 まれる 条 件 指 定 をするときの 注 意 1-60 between を 条 件 指 定 に 使 うときの 注 意 1-61 グローバル 変 数 @@rowcount を 使 うときの 注 意 1-62 カーソルのモード 宣 言 (for read only/for update)の 注 意 1-63 カラムのデータ 型 に money 型 を 使 用 するときの 注 意 1-64 print 文 を 実 行 するときの 注 意 1-65 テーブル スキャンとはどのような 動 作 か 1-66 どのような 場 合 にテーブル スキャンになるのか 1-67 どのような 条 件 指 定 の 書 き 方 をするとインデックスが 使 われないのか 1-68 ジョインを 行 うときのパフォーマンスの 注 意 は 1-69 同 じ 結 果 を 得 る2つの SQL があるとき どちらが 速 いかを 調 べるには 1-70 第 2 章 日 付 データの 取 り 扱 い 日 付 を 表 すのに char, int 型 と datetime 型 はどう 違 うか 2-2 どのようなときに 日 付 に char 型 を 使 うか 2-2 日 付 データ 型 smalldatetime と datetime の 使 い 分 けは 2-3 日 付 カラムから 最 新 最 古 のデータを 検 索 したい 2-3 日 付 データ 型 のカラムにはどのようにデータを 入 力 するのか 2-4 日 付 データとして 現 在 時 間 を 入 力 したい 2-4 年 を2 桁 で 入 力 するとどのように 扱 われるのか 2-5 入 力 する 日 付 を 常 に YMD の 順 に 扱 ってほしい 2-5 現 在 のセッションの 言 語 モードを 日 本 語 英 語 に 変 更 したい 2-5 日 付 の 表 示 フォーマットを 変 えたい 2-6 日 付 の 表 示 を 英 語 ではなく 数 字 にしたい 2-6 日 付 を 常 に 決 まったフォーマットで 表 示 したい 2-7 日 付 データの 時 分 秒 を 表 示 したい 2-8 日 付 データをミリ 秒 まで 表 示 したい 2-8 年 を2 桁 で 表 示 したい 2-8 日 付 の 表 示 フォーマットとスタイル 番 号 一 覧 2-8
該 当 する 日 付 データを 検 索 したい 2-9 日 付 データ 入 力 時 に 日 付 だけを 指 定 し 時 刻 が 入 らないようにしたい 2-10 年 は 一 致 しなくてもいいから 月 日 が 一 致 するデータを 検 索 したい 2-11 英 語 フォーマットの 日 付 データでワイルドカードを 使 うとどうなるか 2-11 時 刻 が 一 致 するローを 検 索 したい 2-12 時 刻 の 検 索 に 対 するワイルドカードの 使 い 方 2-12 日 付 データから 年 月 日 時 分 秒 や 曜 日 などの 部 分 データを 取 り 出 したい 2-13 今 月 は 何 月 か 数 値 で 取 得 したい 2-13 日 付 関 数 で 指 定 する date_part の 一 覧 2-14 日 付 の 部 分 データを 取 り 出 すにはどのように 指 定 するのか 2-14 日 付 の 古 い 順 または 新 しい 順 にソートしたい 2-15 年 を 無 視 して 月 日 の 古 い 順 にソートしたい 例 : 従 業 員 テーブルから 誕 生 日 の 早 い 順 に 表 示 したい 2-15 order by を 指 定 しなくても 常 に 新 しい 日 付 から 先 に 表 示 されるようにしたい 2-16 日 付 の 加 減 算 を 行 いたい 2-17 ある 日 付 よりN 日 前 /N 日 後 の 日 付 を 知 りたい 2-17 Nヶ 月 以 前 のデータを 削 除 /Nヶ 月 以 内 のデータを 検 索 したい 2-18 2つの 日 付 の 差 を 調 べたい 2-19 生 年 月 日 データから 今 日 が 生 まれて 何 日 目 か 知 りたい 2-19 ある 処 理 にかかる 時 間 をミリ 秒 単 位 で 測 定 したい 2-19 生 年 月 日 データから 現 在 の 年 令 を 知 りたい 2-20 時 刻 も 含 まれる 日 付 データからある 特 定 の 日 付 のデータを 検 索 したい 2-21 ある 日 付 データと 年 月 が 一 致 するデータを 検 索 したい 2-21 今 年 の 年 初 から 今 日 までの 売 上 の 合 計 を 知 りたい 2-22 現 在 の 四 半 期 に 含 まれる 日 付 データを 検 索 したい 2-22 ある 時 刻 の 時 分 秒 後 の 時 刻 を 知 りたい 2-23 2つの 日 付 データの 差 が 大 きい 順 にソートしたい 2-24 会 員 テーブルの 入 会 日 と 退 会 日 カラムから 在 籍 日 数 の 長 い 順 に 会 員 を 表 示 したい 2-24 2つの 日 付 データの 差 が 平 均 何 日 か 調 べたい 2-25 貸 出 日 から 返 却 日 までの 日 数 がもっとも 長 い 顧 客 を 知 りたい 2-25 2つの 日 付 の 中 間 日 を 知 りたい 2-25 ある 月 が 何 日 あるかを 調 べたい 2-26 ある 月 の 最 終 日 の 日 付 を 調 べたい 2-26 ある 年 がうるう 年 かどうか 調 べたい 2-27 ある 日 付 が 週 末 だったら 直 前 の 金 曜 日 の 日 付 を 得 たい 2-28 同 じ 日 または 同 じ 月 で 日 別 月 別 集 計 を 行 いたい 2-29 四 半 期 別 の 集 計 を 行 いたい 2-30 4~6 月 を 第 1 四 半 期 として 扱 いたい 2-30 分 単 位 1 時 間 単 位 の 集 計 をしたい 2-31 日 付 型 でなく 文 字 で 表 した 日 付 データに 日 付 関 数 を 使 用 したい 2-32 連 続 した 日 付 を 持 つカレンダー テーブルを 作 りたい 2-33 カレンダー テーブルを 利 用 して 日 付 を 文 字 列 で 渡 すときの 日 付 の 正 当 性 を 検 証 したい 2-34 カレンダー テーブルから 週 末 祝 日 休 業 日 を 削 除 し 営 業 日 ( 平 日 )のみのカレンダーを 作 りたい 2-35 N 営 業 日 後 の 日 付 を 知 りたい 2-36 2つの 日 付 の 間 に 平 日 は 何 日 あるか 知 りたい 2-36 月 日 と 曜 日 から 年 を 知 りたい 2-37 ある 日 付 にもっとも 近 い 〇 曜 日 を 知 りたい 2-37 参 考 :datetime 型 のデータは 内 部 的 にはどのように 格 納 されているのか 2-38 第 3 章 文 字 列 の 検 索 と 操 作
文 字 列 関 数 算 術 関 数 システム 関 数 の 概 要 3-2~3 char, varchar, text : 文 字 データ 型 の 選 択 基 準 3-4 char と varchar は 何 が 違 うのか 3-5 適 切 な 文 字 データ 型 を 選 択 しているかチェックしたい 3-6 ある 文 字 カラムに 入 っているデータの 最 大 最 小 平 均 データ 長 を 調 べたい 3-6 Transact-SQL で 使 用 できるワイルドカード 文 字 3-8 ワイルドカード 文 字 をデータとして 認 識 させるには 3-8 like 句 でワイルドカードを 使 わなかったらどう 解 釈 されるか 3-8 ブラケットを 使 ったワイルドカードによる 条 件 指 定 3-9 文 字 列 のフォーマット チェックをしたい 3-10 文 字 列 に 含 まれる 文 字 がすべて 数 字 であることを 確 認 したい 3-10 ではない 文 字 を 検 索 したい 3-11 文 字 カラムに 数 字 ではない 文 字 が 含 まれるか 調 べたい 3-11 英 字 (アルファベット)ではない 文 字 が 含 まれるか 調 べたい 3-11 2つの 文 字 パターンAとBが 含 まれるローを 検 索 したい 3-12 パターンAのほうがBより 先 に 現 れるローを 探 したい 3-12 ある 文 字 がN 文 字 以 上 含 まれるローを 検 索 したい 3-13 ある 単 語 がN 回 以 上 の 出 現 するローを 探 したい 3-13 ある 文 字 カラムを 必 要 なときだけ 検 索 条 件 に 指 定 したい 3-14 複 数 の 文 字 列 を 結 合 してひとつの 文 字 列 にしたい 3-15 固 定 長 文 字 列 を 結 合 するとどうなるか 3-16 固 定 長 文 字 列 の 後 続 スペースを 取 り 除 いて 結 合 したい 3-17 複 数 の 文 字 カラムを 結 合 してひとつのカラムとして 表 示 したい 3-18 どの 文 字 カラムに 該 当 データが 入 っているかわからないが いずれかのカラムに 存 在 すれば 表 示 したい 3-18 文 字 列 の 中 から 任 意 の 文 字 を 取 り 出 したい 3-19 半 角 と 全 角 文 字 が 混 在 する 文 字 列 でも substring 関 数 は 使 えるのか 3-19 文 字 列 の 中 に 探 す 文 字 が 何 文 字 目 に 現 われるか 調 べたい 3-20 charindex と patindex 関 数 はどのように 使 い 分 けるのか 3-20 patindex で 文 字 を 探 すときの 注 意 は 3-21 探 す 文 字 が 現 われる 文 字 位 置 を 何 文 字 目 ではなく 何 バイト 目 で 返 してほしい 3-21 住 所 データから 区 の 名 前 を 取 り 出 したい 3-22 文 字 列 の 前 半 と 後 半 を 入 れ 替 えたい 3-23 区 切 り 文 字 で 分 けられた 文 字 列 を 分 割 し 2つのカラムに 代 入 したい 3-24 セパレータ 文 字 で 区 切 られた 文 字 列 から 必 要 な 文 字 を 取 り 出 したい 例 :"03-1234-5678" から "1234" を 取 り 出 したい セパレータ 文 字 の 文 字 位 置 が 一 定 の 場 合 3-25 セパレータ 文 字 の 文 字 位 置 が 一 定 ではない 場 合 3-26 探 す 文 字 が 文 字 列 の 後 ろから 何 文 字 目 にあるか 調 べたい 3-26 例 :"03-1234-5678" から "5678" を 取 り 出 したい 3-27 英 字 と 数 字 が 混 在 する 文 字 列 から 数 字 だけ 取 り 出 したい 例 :"AB-9810CD" から "9810" を 取 り 出 したい 3-28 stuff 関 数 でどのような 処 理 ができるのか 3-29 文 字 列 内 に 別 の 文 字 を 挿 入 したい 例 :"03-123-4567" を "03-5123-4567" にしたい 3-30 数 字 部 が1 桁 増 加 AB1 を AB01 として 表 示 したい 3-31 会 社 名 が 株 式 会 社 で 終 わっているデータの 株 式 会 社 の 前 に 1スペースを 入 れたい 3-31 stuff の 内 部 で charindex,patindex を 使 用 するときの 注 意 は 3-32 文 字 列 内 の 指 定 された 文 字 を 削 除 したい 例 :"PC-602" を "PC602" にしたい 3-33 文 字 列 中 のある 文 字 を 別 の 文 字 に 置 き 換 えたい 市 と 市 が 合 併 して 市 が 誕 生 したとき 住 所 データを 変 更 したい 3-34
全 角 スペースを 半 角 スペースに 置 き 換 えたい 3-35 文 字 列 内 に2つ 以 上 のスペースがあったらスペース1つにしたい 3-35 住 所 データ 中 央 1-2-3 を 中 央 1 丁 目 2-3 にしたい 3-35 社 外 秘 の 文 字 データを 別 の 文 字 で 上 書 きしてマスキングしたい 3-35 セパレータの 区 切 り 位 置 を1 文 字 移 動 したい 例 :"0120-34-5678" を "0120-345-678" にしたい 3-36 "03-1234-5678" を "03(1234)5678" に 直 したい 3-36 文 字 カラム 内 に 全 角 文 字 が 含 まれているか 調 べたい 3-38 全 角 文 字 が 含 まれるローを 検 索 したい 3-39 文 字 カラムに 全 角 文 字 が 何 文 字 含 まれているか 調 べたい 3-39 プロシージャに 渡 された 文 字 パラメータに 全 角 文 字 が 入 っていたら エラーにしたい 3-39 半 角 カナを 使 用 するときの 注 意 :sjis と eucjis 3-40 半 角 カナが 含 まれるローを 検 索 したい 3-41 半 角 カナでフリガナを 入 れるカラムに 半 角 カナとスペース 以 外 の 文 字 が 入 っていないことを 確 認 したい 3-42 全 角 のひらがな カタカナ 記 号 が 含 まれているか 確 認 したい 例 : 住 所 データにひらがなが 含 まれる 市 を 検 索 したい 3-43 へ という 文 字 が 全 角 ひらがなか 全 角 カタカナか 確 認 したい 3-43 パーセントやアンダーバーは 半 角 / 全 角 ともにワイルドカードになる 3-44 全 角 パーセント % を 文 字 として 検 索 したい 3-44 半 角 "123"と 全 角 "123"を 区 別 しないで 検 索 したい 3-45 全 角 半 角 変 換 を 行 いたい 3-46~48 TAB や Line Feed などの 制 御 文 字 が 含 まれているか 調 べたい 3-49 ASCII 制 御 コードが 含 まれるローを 検 索 したい 3-49 ASCII コード 表 にない 文 字 が 含 まれているか 調 べたい 3-49 TAB や Line Feed などの ASCII 制 御 文 字 が 含 まれていたら それを スペースに 変 えたい または 削 除 したい 3-50 ASCII コード 表 3-50 類 似 した 文 字 列 の 検 索 : AMR200 が 見 つからなかったら "BMR200", AM200, AMR300, AMR2005 などを 一 致 候 補 として 表 示 させたい 方 法 1: 動 的 SQL の 利 用 3-52~53 方 法 2: 連 番 テーブルの 利 用 3-54~56 ある 文 字 に 類 似 した 文 字 が 含 まれるローを 探 したい 3-57 ある 数 値 に 近 い 数 値 (1 桁 違 いなど)を 探 したい 3-58 ある 文 字 カラムにいくつの 異 なる 文 字 が 含 まれるか 調 べたい 3-59 丸 の 内 丸 ノ 内 丸 之 内 などを 同 じ 文 字 列 として 検 索 したい 3-60 斉 藤 斎 藤 などの 異 字 を 区 別 しないで 検 索 するには 3-61~62 第 4 章 さまざまなクエリ where 23 between cola and colb という 形 の 検 索 をしたい 4-2 従 業 員 テーブルの 入 社 日 と 退 職 日 カラムを 使 って 指 定 された 日 に 在 職 していた 人 を 検 索 したい 4-2 where "data" like "%"+column+"%" という 形 の 検 索 をしたい 4-3 郵 便 番 号 テーブルを 使 って 千 葉 県 横 浜 市 などという 不 正 データが 入 力 されないように 検 証 したい 4-3 select のカラム リストにないカラムでソートしたい 4-4 order by a+b のように order by で 演 算 処 理 をしたい 4-4 order by 1,2 という 書 き 方 はどのような 意 味 か 4-4 英 字 の 大 文 字 小 文 字 を 区 別 しないでソートしたい 4-5 2つの 数 値 カラムを 比 較 し 変 化 率 の 大 きい 順 に 表 示 したい 4-5 数 値 カラムを 平 均 に 近 い 順 に 表 示 したい 4-5 文 字 カラムに 入 っているデータの 長 さが 長 い 順 に 表 示 したい 4-6 英 字 + 数 字 フォーマットの 文 字 データを 数 字 の 部 分 でソートしたい 4-6
"AB1","AB10","AB11","AB2","AB3" の 順 ではなく "AB1","AB2","AB3",... "AB10","AB11"の 順 に 表 示 したい 4-6 あるカラムの 値 の 出 現 順 がソート 順 であることを 確 認 したい 4-7 発 音 が 近 い 英 字 なら 一 致 するとみなして 検 索 したい 4-8 2つの 英 字 の 文 字 列 を 比 較 して 類 似 の 度 合 いを 数 値 で 表 わしたい 4-9 テーブル 内 の N 番 目 のロー という 順 番 で 条 件 指 定 をしたい 4-10 検 索 結 果 の N 番 目 のロー という 順 番 で 条 件 指 定 をしたい 4-11 検 索 結 果 をN 件 ずつ 分 けて 表 示 したい 4-11 該 当 件 数 を 調 べてから 内 容 を 表 示 したい 4-12 0 なら 未 請 求 1なら 請 求 済 のように 数 値 にある 文 字 を 対 応 させて 表 示 したい 4-13 別 のカラムの 値 に 応 じて 表 示 させるカラムを 変 えたい 4-14 2つの 数 値 カラムを 比 較 して 大 きいほうのカラム 値 を 表 示 したい 4-15 別 のカラムの 値 に 応 じてあるカラムを 異 なる 値 に 更 新 したい 4-15 文 字 カラムの 数 値 データ"123"を 整 数 123 に 変 換 したい ただし 数 字 でない 文 字 が 含 まれるときは NULL にする 4-16 ゼロ 除 算 エラーで select 文 の 実 行 が 停 止 しないようにしたい 4-17 西 暦 年 を 下 2 桁 で 表 すとき 年 の 古 い 順 にソートしたい 4-18 カフ シキカ イシャ を 除 いた 会 社 名 でソートしたい 4-19 条 件 によって 表 示 するカラムの 順 番 を 変 えたい 4-20 日 付 データ 型 の 年 を 昭 和 平 成 を 表 す 数 字 で 表 示 したい 4-21 coalesce 式 とその 応 用 例 4-22 動 的 SQL:SQL 文 でテーブル 名 の 部 分 を 可 変 にしたい 4-23 実 行 時 に 検 索 条 件 を 動 的 に 指 定 したい 4-24 insert 先 のテーブルが 存 在 しなければ 動 的 に 作 成 して insert したい 4-25 特 定 の 文 字 で 始 まるテーブルを 自 動 的 に 削 除 したい 4-26 0/1 の2つの 値 しか 持 たない 複 数 のデータをどう 扱 うか 4-27 0/1 の2つの 値 しか 持 たない1つのデータを1つのカラムで 扱 うには 4-28 0/1 の2つの 値 しか 持 たない 複 数 のデータを1つのカラムで 扱 うには 4-29 第 nビットがオンである 整 数 値 を 得 たい 4-30 power 関 数 とは 4-30 1 項 目 を1カラムで 表 す 形 式 から1つのビットマップ カラム 形 式 に 移 行 したい 4-31 同 じテーブルにビットマップ カラムを 追 加 するなら 4-31 別 のテーブルにローを 移 行 するなら 4-31 整 数 値 Nは 第 何 ビット 目 が 立 っているか 知 りたい 4-32 ビットの AND を 取 る 演 算 子 とは 4-32 複 数 の 項 目 の 選 んだ 選 ばない をビットで 管 理 する 方 法 4-33 選 ばれた 複 数 の 項 目 番 号 を1つの 整 数 値 で 表 すには 4-33 N 番 目 の 項 目 を 選 んだ 人 を 検 索 したい 4-33 AとBを 両 方 とも 選 んだ 人 を 検 索 したい 4-34 AまたはBを 選 んだ 人 を 検 索 したい 4-34 A B Cのうち 少 なくとも1つを 選 んだ 人 を 検 索 したい 4-34 ビットマップの 整 数 値 から 選 ばれている 項 目 名 を 表 示 したい 4-35 選 択 可 能 な 各 項 目 を 何 人 の 人 が 選 んだかを 表 示 したい 4-36 ビットマップの 整 数 値 からいくつの 項 目 が 選 ばれているかを 知 りたい 4-37 ビットマップ 形 式 から1 項 目 1カラム 形 式 に 戻 したい 4-38 第 5 章 データの 変 更 処 理 カラムのデータ 型 を 変 更 したい 5-2 int 型 から char 型 datetime 型 から char 型 に 変 更 するときの 注 意 は 5-3 カンマ 入 りの 数 字 文 字 列 "1,234"を int 型 に 変 更 したい 5-3 datetime 型 のカラムを YYYY/MM/DD" 形 式 の 文 字 カラムにしたい 5-3 identity カラムの 桁 数 を 増 やしたい 5-4
テーブルにカラムを 追 加 したい 5-5 テーブルからカラムを 削 除 したい 5-5 テーブル 名 カラム 名 を 変 更 したい 5-6 insert で 値 が 指 定 されなかったときのデフォルト 値 を 指 定 したい 5-7 既 存 のテーブルへの default 句 の 追 加 と 削 除 5-7 default 句 の 設 定 値 を 調 べたい 5-7 マスタ テーブルに 存 在 するデータのみ insert させたい 5-8 参 照 整 合 性 主 キー 外 部 キーとは 何 か 5-8 参 照 整 合 性 制 約 の 作 成 5-9 参 照 整 合 性 制 約 を 作 成 するための 条 件 は 5-9 参 照 整 合 性 制 約 を 作 成 するとどのような 動 作 になるか 5-10 参 照 整 合 性 制 約 の 内 容 を 確 認 したい 5-10 参 照 整 合 性 制 約 を 削 除 したい 5-10 データが 登 録 更 新 された 時 間 を 知 りたい 5-11 データを 登 録 更 新 した 人 のログイン 名 を 知 りたい 5-12 自 分 のログイン 名 を 表 示 したい 5-12 テーブル 作 成 時 に default 句 で 現 在 時 間 登 録 者 を 指 定 したい 5-12 データの 登 録 者 登 録 時 間 を 別 テーブルに 記 録 したい 5-13 suser_name や getdate を 利 用 した 動 的 なビューを 作 りたい 5-14 自 分 が 登 録 したデータだけを 表 示 したい 5-14 あるテーブルのローを 別 のテーブルにコピーしたい 5-15 ローのすべてのカラムではなく ある 特 定 のカラム 値 を 別 テーブルにコピーしたい 5-16 データのコピー:insert...select と select into の 違 いは 5-17 古 いデータを 別 テーブルにコピーしたあとで 削 除 したい 5-18 insert するキーの 値 を 既 存 のキーの 最 大 値 +1にしたい 5-19 カラムAとカラムBの 値 を 入 れ 替 えたい 5-20 update 文 でジョインを 行 いたい 5-21 日 別 テーブルの 売 上 数 量 を 集 計 テーブルの 数 量 に 加 算 したい 5-21 ある 特 定 のカラムの 値 を 別 のテーブルからコピーしたい 5-22 update 文 の set 句 でサブクエリを 使 いたい 5-23 数 値 カラムの 値 に 基 づいて 別 のカラムを 更 新 したい 5-24 別 のテーブルを 集 計 した 結 果 に 基 づいた 更 新 を 行 いたい 5-25~26 ユーザに 参 照 されるテーブルの 内 容 を 最 小 時 間 で 切 り 替 えたい 5-27~28 第 6 章 検 索 結 果 のフォーマティング 数 値 データを 先 行 "0" で 埋 めた 文 字 として 表 示 したい 6-2~3 文 字 データを 右 詰 めで 表 示 したい 6-4 数 値 データを 文 字 に 変 換 し 右 詰 めで 表 示 したい 6-5 小 数 点 を 伴 う 数 値 データの 小 数 部 桁 数 を 指 定 して 表 示 したい 6-6 小 数 点 を 伴 う 数 値 データを 文 字 に 変 換 しないで 小 数 部 桁 数 を 指 定 して 表 示 したい 6-7 先 行 スペースを 取 り 除 いて 左 詰 めにしたい 6-8 数 値 が 正 の 数 のときに"+"を 付 けて 表 示 したい 6-9 数 値 が 正 の 数 のときに"+"を 付 けて 右 詰 めの 文 字 で 表 示 したい 6-10 数 値 が 負 のときは 数 値 を ( ) で 囲 んで 表 示 したい 6-11 数 値 データを3 桁 ごとにカンマで 区 切 って 表 示 したい 6-12 ひとつのカラムを 表 示 するたびに 改 行 したい 6-13 1ローごとに1 行 空 けて 表 示 したい 6-13 注 意 を 要 するデータが 検 索 されたら 端 末 で 音 を 鳴 らしたい 6-13 表 示 されるカラムの 幅 を 狭 くしたい 6-14 同 一 カラムの 正 の 数 と 負 の 数 を 別 のカラムに 分 けて 表 示 したい 6-15 "*" を 使 った 簡 易 棒 グラフを 表 示 したい 6-16
第 7 章 set コマンドの 活 用 identity カラムを 使 用 するとき 連 番 の 開 始 値 を 指 定 したい 7-2 "(n rows affected)" というメッセージを 表 示 しないようにしたい 7-3 "(n rows affected)" だけでなくカラム 見 出 しも 表 示 しないようにしたい = 検 索 結 果 以 外 の 文 字 が 表 示 されないようにしたい 7-4 検 索 結 果 をファイルにリダイレクト 出 力 したい 7-4 該 当 するすべてのデータを 表 示 するのではなく 最 初 のN 件 だけを 表 示 させたい 7-5 数 値 の 大 きい 順 または 小 さい 順 に ベストN を 表 示 したい 7-6 N 番 目 に 大 きな 値 を 取 得 したい 7-7 条 件 が 該 当 する 最 初 のN 件 のローを 更 新 したい 7-8 重 複 ローが2 件 あるとき1 件 だけ 削 除 したい 7-9 上 位 N 件 のデータを 別 テーブルにコピーしたい 7-10 カーソルの1 回 のフェッチで 複 数 のローを 表 示 したい 7-11 1 回 のフェッチで 表 示 させるロー 数 を 動 的 に 変 えたい 7-12 第 8 章 複 数 のテーブルへのアクセス union 演 算 子 とは 8-2 2つの select 文 の 実 行 結 果 をひとつの 結 果 セットとして 表 示 したい 8-2 union を 使 用 するときの 制 約 は 8-3 どのような 処 理 で union を 使 うのか 8-4 union で 合 成 した 結 果 セットを insert...select で 別 テーブルにコピーしたい 8-5 select into でテーブル 作 成 と 同 時 にコピーしたい 8-5 or と 同 じ 結 果 を union を 使 用 して 取 得 したい 8-6 union と union all は 何 が 違 うのか 8-7 union ではなく union all を 使 うケース 8-8~9 複 数 のテーブルに 存 在 する 同 一 データをひとつのテーブルに 集 約 したい: 名 寄 せ 処 理 8-11 2つのテーブルの 内 容 が 完 全 に 一 致 している(= 差 異 がない)ことを 確 認 したい 8-12 2つのテーブルの 内 容 を 比 較 し 異 なるローがあれば 検 出 したい 8-13~14 サブクエリを 使 うケースと 制 約 は 8-15 ある 値 より 小 さいデータのうち 最 大 の 値 を 見 つけたい 8-16 最 大 値 の 次 に 大 きなデータ(2 番 目 に 大 きなデータ) を 検 索 したい 8-16 社 名 変 更 があったが 取 引 当 時 の 社 名 で 表 示 したい 8-17 ある 値 にもっとも 近 い 値 を 調 べたい 8-18 in を 使 用 したサブクエリの exists への 書 き 直 し 8-19 主 キー 値 で 比 較 し table1 にあって table2 にないローを 探 したい 8-20~21 比 較 する 主 キーが 複 数 のカラムのときはどうするか 8-22 table2 のローを table1 に 一 致 させたい 8-23 連 続 する 数 値 が 入 るカラムの 欠 番 を 見 つけたい 8-24 連 番 の 間 隔 が1でなかったらどうするか 8-24 連 番 が1から 始 まらない 場 合 はどうするか 8-24 連 続 する 値 が 文 字 や 日 付 だったらどうするか 8-25 参 考 : 連 番 を 持 つテーブルの 作 成 8-26 連 番 が 入 るカラムで 欠 番 の 最 小 値 を 見 つけたい 8-27 明 細 テーブルにないローをマスタテーブルから 削 除 したい 8-28 複 数 のテーブルの count や sum の 結 果 を 1 行 で 表 示 したい 8-29 table1 にあるデータは table2 にはないことを 確 認 したい 8-31 文 字 列 の 前 方 一 致 によるジョインを 行 いたい 8-32 外 部 ジョインとはどのようなジョインか 8-33
通 常 のジョインと 外 部 ジョインでは 表 示 結 果 はどう 違 うか 8-34 外 部 ジョインでジョインできなかったローを NULL ではなく0と 表 示 したい 8-34 ある 条 件 を 満 たしていれば ジョイン カラムが NULL のために ジョインできなかったローも 表 示 したい 8-35 ANSI の 外 部 ジョインはどのように 書 くのか 8-36 ANSI 外 部 ジョインの 構 文 上 の 注 意 は 8-37 ANSI 外 部 ジョインでの on 句 と where 句 の 違 い 8-38 3つ 以 上 のテーブルにアクセスするときの 外 部 ジョインは どう 書 けばいいのか 8-39 ひとつのテーブルを 論 理 的 に 異 なる2つのテーブルとして 扱 うには 8-40 同 じテーブルの 異 なるローの 値 を1 行 で 表 示 したい 8-40 同 じテーブル 内 の2 件 のローの 差 分 を 取 りたい 8-41 2 件 のローの 値 から 変 化 率 を 調 べたい 8-41 セルフジョインとは 8-42 店 舗 別 取 扱 商 品 テーブルから 店 舗 Aと 店 舗 Bの 両 方 で 扱 っている 商 品 を 調 べたい 8-43 商 品 別 月 別 売 上 集 計 テーブルから 売 上 高 が 前 年 比 N 倍 以 上 の 商 品 を 表 示 したい 8-44 セミナー 参 加 者 テーブルで セミナーAに 参 加 したがBには 出 なかった 人 を 調 べたい 8-45 セミナーAとBの 両 方 に 参 加 した 人 を 調 べたい 8-45 売 上 の 前 月 比 変 化 率 の 一 覧 表 を 表 示 したい 8-46 イベントログ テーブルから あるイベントが 前 回 発 生 したのは 何 分 前 か 知 りたい 8-47 結 果 をソートして 表 示 するとき ひとつ 前 のローと 同 じ 値 だったら ブランクを 表 示 したい( 最 初 に 現 れた 値 のみ 表 示 したい) 8-48 直 積 とは 何 か 8-50 from 句 に2つのテーブルを 書 いて ジョイン 句 を 書 かなかったら どうなるか 8-50 直 積 の 例 8-51 2つのサイコロを 振 って 出 る 目 の 組 み 合 わせをすべて 表 示 したい 3-4 と 4-3 の 組 み 合 わせを 同 じとみなすか 異 なるものと 扱 うか 8-51 2つのテスト 条 件 A Bのすべての 組 み 合 わせを 記 録 したい 8-52 条 件 Bの 数 がひとつ 増 えたらどうするか 8-53 Not Equal による 不 等 価 ジョイン 例 :どの 駅 からどの 駅 まで 乗 ったら 料 金 はいくらかの 一 覧 表 を 作 りたい 8-55 Greater Than による 不 等 価 ジョイン 例 : 部 品 表 から 任 意 の2つの 部 品 を 取 り 値 段 の 合 計 が 1000 円 以 下 になる すべての 組 み 合 わせを 表 示 したい 8-56 ローごとに 前 のローまでの 値 を 追 加 した 累 積 値 を 取 りたい 8-57~58 第 9 章 集 計 処 理 Transact-SQL の 集 合 関 数 は NULL をどのように 扱 うか 9-2 group by を 書 かずに 集 合 関 数 とカラムの 値 を 表 示 するとどうなるか 9-3 group by で 指 定 するカラムと select 文 のカラム リストの 関 係 は 9-4 sum の 結 果 が int の 上 限 を 超 えるときに オーバーフロー エラーにならないようにしたい 9-5 group by で 演 算 処 理 をしたい 9-6 年 令 カラムを 10 代 ごとにグループ 化 して 各 年 代 別 (10 代 20 代 30 代 )の 集 計 をしたい 9-6 商 品 を 価 格 帯 別 に 集 計 し 0~999 円 1000 円 ~1999 円 2000 円 ~2999 円... の 商 品 がそれぞれいくつあるか 知 りたい 9-6 顧 客 の 住 所 データから 都 道 府 県 別 の 顧 客 数 を 知 りたい 9-7
郵 便 番 号 の 最 初 の3 文 字 でグループ 分 けしたい 9-7 正 と 負 の 数 が 入 っているカラムから 正 の 数 の 合 計 負 の 数 の 合 計 を 分 けて 集 計 したい 9-8 正 の 数 と 負 の 数 を 分 けて 集 計 : 別 の 方 法 9-9 group by の 結 果 を 集 計 数 値 の 多 い 順 に 表 示 したい 9-10 having 句 はどのように 使 うのか 9-11 group by で 集 計 した 結 果 の 数 値 に 対 して 条 件 を 指 定 したい 9-11 重 複 する 値 と 重 複 件 数 を 調 べたい 9-12 重 複 するデータを 削 除 してユニークにしたい 9-13~14 最 多 出 現 値 を 調 べたい 9-15 あるカラムに 異 なる 値 がいくつあるか 調 べたい 9-16 同 一 項 目 ごとに 小 計 を 計 算 したい 9-17 group by のあとで 全 体 の 合 計 も 表 示 したい 9-18 最 大 最 小 平 均 を 条 件 に 指 定 した 検 索 をしたい 価 格 がもっとも 高 い 商 品 名 やもっとも 最 近 売 れた 商 品 名 を 検 索 したい 9-19 平 均 価 格 よりも 値 段 が 高 い 商 品 を 表 示 したい 9-19 各 ローの 値 が 全 体 に 占 めるパーセントを 知 りたい 9-20 パーセントは 小 数 部 1 桁 まで 表 示 し パーセント 記 号 (%)を 付 けたい 9-20 group by の 集 計 結 果 が 全 体 の 何 パーセントか 知 りたい 9-21 あるカラムでソートし 上 位 A% 下 位 B%でランク 付 けしたい 9-22 テーブル ピボットとは 9-23~24 正 規 化 状 態 (row-wise)とスプレッドシート 形 式 (column-wise)の 比 較 9-24 正 規 化 状 態 からスプレッドシート 形 式 への 変 換 9-25~26 スプレッドシート 形 式 から 正 規 化 状 態 への 変 換 9-27~30 where 句 の 条 件 に 該 当 しないデータの 集 計 結 果 も 表 示 したい 9-30 group by で 指 定 したカラムに 入 っているデータはすべて 表 示 したい 9-30 group by で 集 計 するときにほかのテーブルとジョインしたい 9-31 マスターテーブルにあるデータはジョインできなかった ローも 集 計 結 果 に 含 めて 表 示 したい 9-32~33 顧 客 ごとに 最 新 受 注 日 を 知 りたい 9-34 顧 客 マスタにある 顧 客 データは 取 引 がなくてもすべて 表 示 したい 9-34 複 数 のテーブルでの 集 合 関 数 の 実 行 結 果 を 1 行 にまとめたい 9-35 update 文 によるローカル 変 数 代 入 の 例 : 更 新 前 の 値 と 更 新 後 の 値 を 取 得 したい 9-37 1 行 前 のローとの 差 分 を 取 りたい 9-38~39 連 番 が 入 るカラムに 欠 番 が 発 生 していないか 調 べたい 9-40 前 回 の 日 付 との 日 数 差 を 調 べたい 9-41 1 行 ごとに 前 のローの 値 を 加 算 した 累 積 値 を 取 りたい 9-42~43 商 品 別 の 累 積 値 を 取 りたい 9-44 月 ごとに 累 積 値 を 取 りたい 9-45 売 上 数 量 の 累 積 値 がNを 超 えた 日 を 調 べたい 9-46 累 積 値 がN 倍 になるのに 何 日 かかっているか 調 べたい 9-47 あるカラムの 数 値 が 何 回 連 続 で 増 加 (または 減 少 )しているか 調 べたい 9-48~49 売 上 上 位 N 個 の 商 品 が 全 売 上 高 の 何 パーセントを 占 めるか 知 りたい 9-50 第 10 章 ロックを 考 慮 したトランザクション ロックの 種 類 とロック 待 ちの 状 況 は 10-3 ロックで 待 たされている 人 がいないか 調 べたい 10-4 どのテーブルでロック 待 ちが 発 生 しているか 調 べたい 10-4 ロック 待 ちを 最 小 限 にするための 検 討 事 項 10-5 トランザクションに 名 前 を 付 けるメリットは 10-6 現 在 実 行 中 のトランザクションを 表 示 したい 10-6 トランザクション 名 を ログイン 名 + 開 始 時 刻 にしたい 10-7 もっとも 古 くから 開 始 していてまだ 終 わっていないトランザクションを
調 べたい 10-8 もっとも 古 いトランザクションが 実 行 しているプログラム 名 を 調 べたい 10-8 ロック 待 ちになる 可 能 性 を SQL 文 を 実 行 する 前 に 調 べたい 10-9~10 明 示 的 にテーブルをロックし アクセスさせないようにしたい 10-11 ロック 待 ちを 最 小 限 にするための 検 討 事 項 は 10-12 ASE で 使 用 できる3つのロック スキームとは 10-13 ページはロックせず アクセスされるローだけをロックしたい 10-14 全 ページロック テーブルをローロック テーブルに 変 更 したい 10-15 テーブルのロック スキームはどのようにして 調 べるか 10-16 独 立 性 レベル0の 読 み 込 みとは 10-17 select 文 を 実 行 したときにロックされていても 待 たされることなくすぐに 結 果 が 欲 しい 10-17 ダーティ リードとは 10-18 ダーティ リードでも 支 障 がないのはどのようなケースか 10-18 独 立 性 レベル0の 実 行 方 法 と 注 意 は 10-19 会 話 型 更 新 処 理 でロック 待 ちを 最 小 限 にするための 工 夫 は 10-20 ブラウズ モードによる 更 新 とは 何 か 10-21 timestamp カラムとは 何 か 10-22 timestamp カラムを 利 用 したブラウズ モードの 更 新 は どのように 行 なうのか 10-23~24 holdlock を 使 うとなにが 不 都 合 か 10-25 holdlock を 使 用 するときの 注 意 は 10-26 N 秒 以 上 ロック 待 ちが 継 続 するときはエラーにしたい 10-27 不 要 なデータを 削 除 するときのロックの 考 慮 点 は 10-28 readpast オプションとは 何 か 10-28 ASE の 機 能 ではなく アプリケーション ロジックで ロック 待 ちを 回 避 する 工 夫 をしたい 10-29 処 理 状 態 を 表 すステータス カラムの 利 用 10-30 その 実 際 の 使 用 例 10-31 異 常 終 了 したときの 復 旧 10-32 第 11 章 ストアド プロシージャとトリガ ストアド プロシージャからリターン ステータスを 返 したい 11-2 ストアド プロシージャの 呼 び 出 しを 階 層 化 したい 11-3 ストアド プロシージャのソースコードをテキストファイルに 出 力 したい 11-3 ストアド プロシージャからパラメータの 値 を 戻 してもらうときは どのように 書 くのか 11-4 プロシージャのパラメータを 検 索 条 件 に 使 用 するときの 注 意 は 11-5 実 行 するストアド プロシージャ 名 を 動 的 に 指 定 したい = プロシージャ 名 を 変 数 にして exec @proc_name という 実 行 をしたい 11-6 ストアド プロシージャを 同 じ 名 前 でグループ 化 したい = 同 じ 名 前 のプロシージャをバージョン 番 号 で 区 別 したい 11-7 異 なるプロシージャから 同 じテンポラリ テーブルにアクセスしたい = ネストするプロシージャで 同 じテンポラリ テーブルを 使 用 したい 11-8~9 ストアド プロシージャの 再 帰 呼 び 出 しを 行 いたい 11-10 再 帰 呼 び 出 しのレベルはいくつまでか 11-10 再 帰 呼 び 出 しの 例 :16 以 下 の 階 乗 計 算 11-11 親 子 関 係 を 持 つ 階 層 構 造 データはどのように 扱 うか 11-12~14 階 層 構 造 データの 最 上 位 レベルのデータを 取 り 出 したい 11-15 プロシージャの 再 帰 呼 び 出 しによって 最 上 位 データを 取 得 したい 11-15 階 層 構 造 データからあるデータより 下 位 のデータを 取 得 したい 11-16~17 最 上 位 のプロシージャに 呼 び 出 される 下 位 のオブジェクトを 調 べたい 11-18
拡 張 ストアド プロシージャの 実 行 方 法 11-19 isql やプロシージャの 内 部 から OS のコマンドを 実 行 したい 11-19 検 索 結 果 を 表 示 する 代 わりにファイルに 出 力 したい 11-20 バルクコピーでテーブルの 内 容 を 定 期 的 にファイルに 出 力 したい 11-21 データベース 内 の 全 テーブルをバルクコピー 出 力 したい 11-22 トリガは1 行 も insert, update, delete されなくても 起 動 することに 注 意 11-24 複 数 のトリガを 作 成 したとき 現 在 有 効 なトリガを 確 認 したい 11-25 テーブルを 読 み 取 り 専 用 にしたい 11-26 テーブルで delete 文 だけ 実 行 できないようにしたい 11-26 ある 特 定 のカラムは 更 新 できないようにしたい 11-27 update 文 でどのカラムが 更 新 されたかチェックしたい 11-27 2つ 以 上 のカラムが 更 新 されたかどうかチェックするにはどうするか 11-27 update 文 による 更 新 後 の 値 に 制 約 を 加 えたい 11-28 トリガは insert, update, delete のどのコマンドで 起 動 されたか 知 りたい 11-29 あるテーブルで 実 行 された insert, update, delete の すべての 操 作 履 歴 を 別 テーブルに 記 録 したい 11-30 主 キーの 値 が 変 更 されたら それを 参 照 する 外 部 キーも 同 じ 値 に 変 更 したい 11-31 トリガで 同 一 テーブル 内 のローを 変 更 したい 11-32 変 化 率 を 指 定 しないで insert し トリガの 中 で 計 算 したい 11-33~34 累 積 値 =1つ 前 のローまでの 合 計 値 + 現 在 のローの 値 のとき 複 数 ローの 累 積 値 カラムをトリガで 自 動 更 新 したい 11-35~36 トリガを 再 帰 的 に 呼 び 出 して 更 新 したい 11-37 トリガの 再 帰 呼 び 出 しを 可 能 にするための 設 定 11-37 階 層 構 造 データに 自 己 再 帰 型 トリガを 使 用 したい 11-38 第 12 章 数 学 的 な 処 理 ある 整 数 値 の 桁 数 を 知 りたい 12-2 整 数 値 が 負 のときもマイナス 符 号 を 除 いた 桁 数 を 知 りたい 12-2 浮 動 小 数 データの 整 数 部 と 小 数 部 を 取 得 したい 12-3 整 数 値 を 任 意 の 桁 で 切 り 上 げ 切 り 捨 て 四 捨 五 入 したい 12-4 緯 度 データ 35.77044 を 35 46'13"に 変 換 したい 12-5 その 逆 の 変 換 12-5 Nの 倍 数 のデータを 検 索 したい 12-6 奇 数 を 検 索 したい 12-6 1から 始 まって+5した 値 (1,6,11,16, )を 検 索 したい 12-6 剰 余 演 算 子 と 使 い 方 の 制 約 は 12-6 整 数 値 の 各 桁 の 数 字 を1 桁 ずつ 取 り 出 したい 12-7 Transact-SQL のビット 演 算 子 にはどのようなものがあるか 12-8 2つの 整 数 値 をビット 処 理 演 算 し AND, OR, EXOR の 結 果 を 得 たい 12-8 第 nビットがオンの 整 数 を 検 索 したい 12-9 ある 整 数 を2 進 数 で 表 したとき 合 計 何 ビットが1になっているか 調 べたい 12-10 1~Nまでの 乱 数 を 発 生 させたい 12-11 乱 数 の 範 囲 が1から 始 まらないときは 12-11 乱 数 を 使 用 したテストデータを 作 成 したい 12-12 ある 範 囲 の 文 字 や 日 付 などをランダムに 発 生 させたい 12-13 標 準 偏 差 を 計 算 したい 12-14 母 集 団 から±2σを 超 えているローを 検 索 したい 12-15 偏 差 値 はどのように 計 算 するのか 12-15 文 字 カラムに 現 れる 文 字 を1 文 字 ずつ 集 計 し 出 現 頻 度 が 多 い 順 に 表 示 したい 12-16