「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。

DENSE_RANKとRANKの違いを使い分けるランキング便利技

DENSE_RANKとRANKの違いを使い分けるランキング便利技

SQLでデータに順位を付けたいとき、よく使われるのが RANK と DENSE_RANK です。どちらもウィンドウ関数として利用でき、同点がある場合にどう順位を振るかが異なります。 「売上ランキングを作りたい」「部門ごとのTOP3を出したい …

正規表現(REGEXP)でSQLがもっと楽になる!実践パターン集

正規表現(REGEXP)でSQLがもっと楽になる!実践パターン集

SQLの検索でよく使われる LIKE 句は便利ですが、複雑な条件指定には限界があります。そこで強力な武器となるのが 正規表現(REGEXP)。この記事では、基本的な使い方からよく使うパターン、さらに「SQLで利用できる正規表現の一覧」をまと …

Oracle:DECODE関数とCASE式の違いを徹底解説

Oracle:DECODE関数とCASE式の違いを徹底解説

Oracle SQLを学んでいると、「DECODE関数」と「CASE式」の使い分けで迷う方は多いのではないでしょうか。どちらも条件分岐を行うために利用できますが、機能や表現力には明確な違いがあります。 本記事では、DECODEとCASEの特 …

Oracle:COALESCE関数の使い方

Oracle:COALESCE関数の使い方

oracleの独自関数のCOALESCE(コアレス)関数の用途についてメモしておきます。 COALESCE関数とは COALESCE関数は引数のリストから最初のNULL以外の値を返却するOracle独自関数となります。 NVL2関数との違い …

Oracle:NVL関数とNVL2関数の違い

Oracle:NVL関数とNVL2関数の違い

oracleの独自関数としてNVL関数やNVL2関数があります。 知ってると結構便利な関数なので、この2つの関数の違いについて整理しておきます。 NVL関数とは NVL関数は第1引数がNULLなら第2引数の値(代替値)を返します。 もし第1 …

SQL:単語の先頭1文字目のみ大文字へ変更する方法

SQL:単語の先頭1文字目のみ大文字へ変更する方法

SQLで単語の先頭1文字目のみ小文字から大文字へ変更したい場合は、INITCAP関数を使用することで可能となります。引数に変換したい文字を指定すればOKです。単語の区切りはスペースかアルファベット以外の文字(ハイフン「-」、カンマ「,」、ア …

SQL:指定した日付(該当月)の月末日を取得する方法

SQL:指定した日付(該当月)の月末日を取得する方法

SQLで指定した日付項目(該当年月)の月末日を取得するには「LAST_DAY」関数を使用します。うるう年でも正確な月の最終日を取得出来ます。 DBMS毎の使用可否 SQL Serverでは「EOMONTH」関数で最終日付を取得出来ます。 日 …

SQL:特定の日付時点で有効な住所情報を取得する方法

SQL:特定の日付時点で有効な住所情報を取得する方法

顧客の有効住所などを管理しているテーブルからある特定の日付時点で有効な住所を取得する方法をメモしておきます。 特定の日付時点で有効な住所情報を取得するサンプル サンプルテーブル 「CLIENT_ADDRESS」テーブル以下の様に顧客ID(C …