SQLServerまとめ

このカテゴリにはデータベースMicrosoft SQL Serverの技術的な内容を記述しています。

スポンサーリンク
SQL Server

SQLServerで曜日を表示させる方法

SQLSeverでは日付を指定して曜日を取得するにはDATEPART関数を利用すれば取得することができます。また返される値は各曜日を表現する数値なのでCASE WHENなどを用いて編集してあげると見やすい形になります。
SQL Server

SQLServerのSTRING_SPLITで指定した文字で文字列を分解する方法

SQLServer2016以降では指定された文字で文字列を分解して取得するにはSTRING_SPLITを使えば簡単に行うことができます。ただし、取得されるSELECT文のカラム名はvalueに固定されています。
SQL Server

SQLServerのTrim関数は1度に複数の文字を前後から取り除ける

SQLServer2017で実装されたTrim関数は前後の半角空白文字を取り除けるだけではなく、複数の文字を1度に取り除ける強力なものになっています。これまで複雑にRTRIM関数、LTRIM関数を組み合わせていた処理がTRIM関数1つで書けるようになりました。
スポンサーリンク
SQL Server

SQLServerのCASE WHENを使って年月ごとのデータを取得する

SQLServerのCASE WHENを使って年月ごとのデータを取得するには該当年月を100で割った余りでデータを振り分けます。
SQL Server

SQLの副問合せを使ってテーブルのかわりをする

SQLの副問い合わせ(サブクエリ)とは、SELECTした結果を別のSQLで使うことを言います。今回は副問合せ(サブクエリ)を使ってテーブルのかわりを実現してみます。
SQL Server

SQLServerのVIEWに対するデータの挿入・更新

SQLServerでは複数のテーブルを結合した状態を1つのテーブルのように扱えるVIEWという機能があり、VIEWを使うと複雑なSELECT文を一度書くだけでそのSELECT結果自体をテーブルのように扱えます。INSERTやUPDATEもそのデータが影響を与えるテーブルが1つの場合は通常のテーブルと同じようにINSERTやUPDATEが行えます。
SQL Server

SQL ServerのSELECTとSETで変数代入時の違い

SQL Serverで変数を代入する場合には「SELECT」「SET」のどちらでもできますが、それぞれに少しだけ違いがあります。その違いを理解したうえで使用しないと、思わぬ不具合を発生させることにも成り兼ねないので注意しましょう。
SQL Server

直前のINSERTで自動採番したIDENTITY列の値を取得する

SQLServerのIDENTITY属性の列をテーブルにデータをINSERTし、その挿入された値を直前に挿入された値を取得するには「@@IDENTITY」を利用すれば取得できます。
SQL Server

SELECTで別名・エイリアスが使えるかはSQL実行順序で決まる

SELECT文の中で別名(エイリアス)が使える、使えないは、それぞれの句のSQL実行順序で決まります。SQLServerの実行順序はFROM、ON、JOIN、WHERE、GROUP BY、WITH CUBE または WITH ROLLUP、HAVING、SELECT、DISTINCT、ORDER BY、TOPの順です。
SQL Server

SQLServerで外部キー(FOREIGN KEY)の一覧情報を取得する方法

SQLServerで外部キー(FOREIGN KEY)の情報を取得するSQLはsys.foreign_keysを元に検索すれば可能になります。
SQL Server

SQLServerで一時的に外部キー(foreign key)制約を無効にする方法

SQLServerでテーブルに設定されている外部キー(foreign key)を一時的に無効にしたり有効にしたりするにはALTER TABLE文を使って行います。
SQL Server

SQLServerでVIEWの作り方

SQLServerではVIEWと呼ばれる仮想的なテーブルを作成することができます。VIEWの作成方法を解説します。
SQL Server

SQLServerに新規のデータベースを作る方法

SQLServerに新規のデータベースを作成するにはSQL Server Management Studio(SSMS)を利用すると簡単に作成できます。
SQL Server

SQLの基本-INSERT,UPDATE,SELECT,DELETE-

アプリケーションでSQLを利用してデータベースのデータを扱う上で重要な構文が「INSERT,UPDATE,SELECT,DELETE」の4つです。その基本を解説します。
SQL Server

SQLServerのLEN関数は文字列の後ろの空白は無視する

SQLserveのLEN関数は文字数をカウントしてくれるが後ろの空白は無視される。
SQL Server

SQLでPIVOTを使って行と列を入れ替える(縦横変換する)方法

SQLServer(T-SQL)では行と列の入れ替え(縦横変換)はPIVOTを利用すると簡単に行えます。
SQL Server

SQLServerのテンポラリテーブル(一時テーブル)の作り方

SQLServerのテンポラリテーブル(一時テーブル)の作り方と使い方。
SQL Server

SQLServerでカーソルを使う方法

SQLServerにはCURSOR型」が用意されています。「CURSOR型」の使い方を解説します。
SQL Server

SQLServerの関数(ストアドファンクション)で引数を省略する方法

SQLServerで関数(ストアドファンクション)に引数を持たせることができるのですが、その引数の値を指定せずにDEFAULT(規定値)で実行することもできます。
SQL Server

SQLServerでSplit関数のようにカンマ区切りの文字列を分割して取得する方法

SQLServer2016以前のバージョンでは指定した文字で文字列を分割する「split」関数が実装されていません。
SQL Server

SQLServerで指定した月の月末日付を求める方法

SQLServerで指定した月の月末日付を求めるには「EOMONTH」関数を使うと簡単に取得できます。
SQL Server

Microsoft SQL Sever 2017を無料で使う方法

SQL Server 2017には無料で利用できる小規模開発用(Express)と開発者に向けたテスト環境構築および技術検証用(Developer)ョンが用意されています。
SQL Server

SQLServerで断片化したインデックスを再構築する方法

SQLServerでインデックスを再構築すると断片化したインデックスが解消され、処理スピードが速くなることがあります。断片化したインデックスを再構築しインデックスるの断片化を解消する方法です。
SQL Server

SQLServerのテーブルにCSVファイルをインポートする方法

SQLServerのテーブルにCSVファイルをインポートする方法です。
SQL Server

SQLServerで取得した値を3ケタのカンマ区切りで表示する

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です。
SQL Server

SQLで検索結果を縦横変換する

SQLで取得した各行を一定のくくりで横に表示させたいときがあります。そんなときはSQLで縦横変換を行います。
SQL Server

SQLServerではTRIM関数がありません

SQLServerではOracleやMySQLなどでサポートされている空白を取り除くTRIM関数がないので、カラムの前後の空白を取り除くにはLTRIM関数とRTRIM関数を組み合わせて実現します。※SQLServer 2017でTRIM関数が追加されました。
SQL Server

SQLで存在しない行を生成し固定行数で処理したい時に役立つ方法

帳票データなどで登録されているデータ数に左右されず、固定行数でデータを取得したい場合があります。キー内で複数行のデータを管理しているデータから固定の行数分情報を作り出して取得するSQLです。
SQL Server

SQLServerで「WITH ROLLUP」を使って小計、総合計を出力する

SQLServerでは「WITH ROLLUP」を利用すると簡単に小計、総合計を出力することができます。そのサンプルです。
SQL Server

SQLServerのbcpコマンドを使ってBULK INSERT用のフォーマットファイルを出力する

SQLServerのbcpコマンドを使ってBULK INSERT用のフォーマットファイルを出力を出力することができます。フォーマットファイルの作成方法です。
SQL Server

SQLServerのテーブルに設定されているインデックスをSQLで検索する

SQLServerでテーブルに設定されているインデックスを検索するにはsys.indexesから情報をSelectします。
SQL Server

SQLServerでテーブルのプライマリキー(PK)を取得する(SQL編)

SQLServerでテーブルのプライマリキー(PK)をSQLで取得します。
SQL Server

指定した列名がどのテーブルで使用されているか検索するSQL

指定した列名がどのテーブルで使用されているか検索するSQLです。列名の変更や型の整合性などを見る時にすべてのテーブルから列名を探しだすと楽にチェックすることができます。
SQL Server

指定した値と同じ場合はNULLを返すNULLIF関数

SQLServerには使いどころがいまいち不明な関数があります。そのなかの一つ「NULLIF()」。NULLIF()は2つの引数を持ち、その引数の値が同じならNULL、違うなら第1引数の値を返します。
SQL Server

SQLで大文字、小文字変換を行う

SQLで大文字⇔小文字変換を行うには「UPPER関数」と「LOWER関数」を利用します。「UPPER関数」と「LOWER関数」の利用方法を解説します。
SQL Server

SQLServerで文字列を反転させるREVERSE関数

SQLServerで文字列を"012345"を後ろから並び変えて"543210"のように反転させるにはREVERSE関数を利用します。REVERSE関数の利用法を解説します。
SQL Server

SQLServerでストアドプロシージャ名を取得する

SQLServerでエラーログなどを出力する際にそのストアドプロシジャ名が欲しい時があります。そんな時に役立つSQLを作って見ました。
SQL Server

ALTER TABLEで既存のテーブルのプライマリーキー(主キー)を変更する

ALTER TABLEで既存のテーブルのプライマリーキー(主キー)を変更します。
SQL Server

SQLServerで累積値(累積比)を求める

SQLServerで累積値(累積比)を求めるにはちょっとした工夫が必要です。
SQL Server

呼び出したストアドプロシジャーの戻り値を使用する

ストアドプロシジャーから他のストアドプロシジャーを呼び出してその処理結果を使用したい場合が発生します。そんな時に役立つテクニックです。
スポンサーリンク
タイトルとURLをコピーしました