データベースまとめ

スポンサーリンク
SQL Server

ユーザー定義テーブル型変数を使用する

SQLServer 2008には、テーブル構造の定義を表す「ユーザー定義テーブル型」というものがあります。これを利用すると独自のテーブル型を作成できます。
SQL Server

SQLServerで春分の日と秋分の日をSQLで求める計算式

春分の日と秋分の日は毎年違うので計算で春分の日と秋分の日をSQLで求めてみます。
SQL Server

SQLで当月の第何週目の何曜日か取得する

SQLServerでは関数で今日は当月の第何週目か取得する関数がないので、自作しました。
スポンサーリンク
SQL Server

SQLServerのMERGEでINSERTとUPDATEを1行で実行する

SQLServerのMERGE文を利用すると、指定した条件に応じて挿入(INSERT)、更新(UPDATE)、削除(DELETE)を実行することが1行のSQLで可能です。
SQL Server

指定された月の日数をSQLで求める

SQLで指定された月の日数を計算する処理です。「9999/12」以外はきちんと計算できます。
SQL Server

DATETIMEデータ型のミリ秒丸め現象の対応方法

DATETIMEデータ型のミリ秒には精度によって丸めがあり、利用する場合には注意が必要です。000、.003、.007 以外の値は .000、.003、.007 に丸められます。
SQL Server

SQLでビット演算を行う

SQLServerのT-SQLでビット演算を使って、該当のデータを探し出します。
SQL Server

連番中で 「歯抜け」の番号を見つけ出すSQL

よくある処理でテーブルに設定されている連番の中で「歯抜け」の番号を見つけ出すSQLです。
SQL Server

SQLServerでカンマ区切り (CSV) で文字列取得

Where句のINにSQLで取得した結果を直接利用したりするのに、SQLServerで複数件存在するデータを1行のカンマ区切りのデータとして取得して見ます。
SQL Server

ORDER BYでNULLのカラムをASCでソートした時に最後に表示する方法

SQLServerで何も考慮せずに「ORDER BY」するとNULLのカラムは最後に表示されます。CASE WHENを利用してそれを回避します。
SQL Server

NULLの検索はIS NULL演算子を使う

SQLでNULLのカラムを含む行を検索するには「WHERE カラム名=NULL」ではなく「WHERE カラム名 IS NULL」を使います。「WHERE カラム名=NULL」では検索できません。
SQL Server

SQLServerでダミーテーブルを使ってみる

SQLServerで実際に存在するテーブルからではなく架空(ダミー)のテーブルに対してSELECTを発行することができます。このようなSQLは現在時刻を取得するときなどに便利な方法です。Oracleで現在日付けなどを取得する際に利用するダミーテーブルは「DUAL]ですが、SQLserverの場合はこれに対応するテーブルはありません。
SQL Server

SQLで月曜日始まりのカレンダー作成

SQLをうまく利用するとカレンダーを作成することができます。今回はSQL Serverで月曜日始まりの1週間分のカレンダーを作成します。
SQL Server

SQLServerでTrue,FalseのようなBoolean型をあつかう

SQLServerには「Boolean」という型はありません。Boolean型のような「true」、「false」をあつかうには「bit型」を利用します。
SQL Server

SQLServerでテーブルの存在を確認する

SQLServerでは「dbo.sysobjects」から「id」を検索することにより、そのテーブルが存在するかどうか確認することができます。
SQL Server

SQLで西暦から和暦変換を行う

SQLServerで指定された西暦の年月日を和暦の年月日に変換するSQLです。
SQL Server

テーブルにユニークインデックス(UNIQUE INDEX)を作成する

テーブルにユニークインデックス(UNIQUE INDEX)を作成する方法です。またユニークインデックス(UNIQUE INDEX)とプライマリーキーとの違いを書いています。
SQL Server

SQLServerでIDENTITYを使って自動で連番を設定する

SQLServerでカラムに自動で連番を設定するにはカラムの属性に「IDENTITY」を指定します。
SQL Server

TOP句で変数を使ってSQLを1行にする

Transact-SQL(T-SQL)のTOP句で変数を使ってSQLを1行にする
SQL Server

「INNER JOIN」「LEFT OUTER JOIN」「RIGHT OUTER JOIN」「FULL OUTER JOIN」についてまとめ

SQLでよく使う「INNER JOIN」「LEFT OUTER JOIN」「RIGHT OUTER JOIN」「FULL OUTER JOIN」についてのまとめです。
SQL Server

CASE WHEN を使って条件ごとの件数を取得する

あるテーブルに状態を表すフラグを持たせることはよくあります。その状態を条件ごとに振り分けて件数をそれぞれの件数を取得します。
SQL Server

集計関数COUNT()でのNULLの扱い

集計関数のCOUNT()は条件にマッチするレコードの件数を数えるのに使われます。注意が必要なのはNULLを含む項目とNULLを含まない項目では動作が異なります。
SQL Server

GROUP BYとHAVINGで最新日付データを取得する

社員マスタなどで最新のレコードのみをSQLで取得して利用するような場面はよくあるかと思います。そこでSQLを使って最新日付データを取得します。
SQL Server

SQLServerでDEFAULT制約付きのカラムの属性を変更する

SQLServerでDEFAULT制約付きのカラムの属性を変更する場合は、一旦付与されている制約を外してから変更しなければエラーになります。
SQL Server

SQLServerで列は既にデフォルトにバインドされています。と言われた場合の対処

SQLServerでテーブルのカラムの属性変更でデフォルト値を変更しようとすると列は既にデフォルトにバインドされています。というエラーになりました。
SQL Server

SQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得する

SQLServerのSQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得します
SQL Server

ISNULLとCOALESCEは動作が異なる

SQLServerのISNULLとCOALESCEは微妙に動作が異なるので注意が必要です。
SQL Server

CASE WHENを使ってSQLでIF文を使わずに条件を分岐する

CASE WHENを使ってSQLでIF文を使わずに条件を分岐します。複数おなじSQLを書く必要がないのでメンテナンスもやりやすくなります。
SQL Server

ISNULL()関数を使ってSQLでIF文を使わずに条件を分岐する

ISNULL()関数を使ってSQLでIF文を使わずに条件を分岐させます。一部が違うだけで同じようなSQLを複数回書かなくてよいのでメンテナンス性もよいかと思います。
SQL Server

SQLServerでROW_NUMBER()を使って連番を採番する

SQLServerでROW_NUMBER()関数を使うと検索結果に対して連番を独自に採番します。
SQL Server

SQLServerでシステム日付を取得する

SQLServerのインスタンスを実行しているコンピューターのシステム日付を取得する。色々な関数があります。
SQL Server

SQLServerの再帰SQLで最大再帰数の指定

再帰SQLで「ステートメントが終了しました。ステートメントの完了前に最大再帰数 100 に達しました。」が発生しました。どうやら最大回数が設定できるようです。
SQL Server

SQLServerの再帰SQLで歯抜けの日付データを取得する

日付を管理しているテーブルから共通テーブル式と再帰SQLを使って歯抜けの日付データを取得する
SQL Server

DATENAME関数を使って日付や曜日を取得する。

SQLServerでDATENAME関数を使って日付を取得します。DATENAME関数を使えば曜日も取得することができます。
SQL Server

SQLServer上にあるテーブルの更新日時を取得する。

ストアドプロシージャーの更新日時を調べるSQLを見つけましたがtype_descに「'USER_TABLE'」を指定するとテーブルレイアウトの更新日時が取得できます。
SQL Server

SQLServer上にあるストアドプロシージャーの更新日時を取得する。

ここ数日間で変更されたSQLServer上にあるストアドプロシージャーを調べる必要があったので、そんなことができないかと調査して見ました。
SQL Server

SQLを使っていろいろなやり方で年月を抜き出す

SQLを使っていろいろなやり方で年月を抜き出す
SQL Server

SQLServerで日付の重複をSQLで検索する

SQLで開始日付、終了日付の期間の重複を検索する。マスタデータなどの有効期間の重複チェックに使えると思います。
SQL Server

SQLで指定された年月日の月末日付を取得する

SQLserverには指定された年月日の月末日付を取得する関数がないようなので、SQLで指定された年月日の月末日付を取得してみます。
SQL Server

ALTER TABLEのALTER COLUMNで「列 ‘xxxxx’ に依存しています」とエラーになる

SQLServerでALTER TABLEのALTER COLUMNで「列 'xxxxx' に依存しています」とエラーになる件の対応方法です。
スポンサーリンク
タイトルとURLをコピーしました