SQL Serverでレコードに連番を付ける
検索画面等で抽出したデータ件数が多い場合、レスポンスを良くするために50件毎にページ送りするようなことがあると思います。
その場合にレコードに連番をつけることで簡単にページ送りが可能になります。
ここではレコードに連番 ...
SQL Serverでグループ毎に連番を付ける
グループ毎に連番を付けるSQLを紹介します。
コーディング例実行結果枝番氏名年月日出勤退勤1佐藤201909018:5318:072佐藤201909029:5319:073佐藤2019090310:5320:071山本20190 ...SQL Serverで前レコードの値を参照する
前レコードの値を参照するSQLを紹介します。
コーディング例実行結果氏名前日前日出勤前日退勤当日当日出勤当日退勤佐藤0201909018:5318:07佐藤201909018:5318:07201909029:5319:07佐藤 ...SQL Serverで前レコードの値を参照する②
前回、ROW_NUMBERを使った前レコードの値を参照するSQLを紹介しましたが、別の方法を紹介します。
コーディング例実行結果氏名日勤務時間前日佐藤15000佐藤25501佐藤302山本100山本24601山本35102田中1 ...MERGE文でデータの存在を確認せずにINSERTまたUPDATEを実行する方法
SQLServerではMERGE文を使うと更新先に該当のキーのデータがあるかないかをIF文で確認したりせずに1行でINSERTもしくはUPDATE文を切り替えて実行することができます。
SQLServerで検索時Order BYでNULLのデータを後ろに並べる方法
SQLServerで検索時Order BYでNULLのデータを後ろに並べるにはORDER BY句にちょっとした工夫が必要になります。今回はCASE WHEN、ISNULL関数を利用した方法を解説します。
SQLServerで指定した文字を繰り返して出力する関数REPLICATE
SQLServerのT-SQLには指定した文字(文字列)を繰り返し出力してくれる関数があります。LEN関数などと組み合わせることでSELECTした文字列の長さを統一できるなどといったメリットがREPLICATE関数にはあります。
SQLServerでユニークインデックスとカラム情報を取得してテーブル定義書を作成する
SQLServerではsys.objects, sys.columns,sys.tables,sys.key_constraints,sys.index_columnsシステムビューを利用すればユニークインデックスとカラム情報を取得す ...
SQLServerでテーブルのカラム名を取得する方法
SQLServerでテーブルのカラム名を取得する方法はsys.objects, sys.columnsという2つのシステムビューを利用して取得します。
SQL Serverで階層問合せ
レコードに自身のコードと親コードを持ち、親子関係よりツリー構造を抽出するものをOracleでは階層問合せといい、START WITH句、CONNECT BY句を使用して抽出できますが、SQL ServerにはSTART WITH句、C ...
SQL Serverで指定した日付期間のデータを作成する
例えば出勤時刻・退勤時刻のデータを基に、タイムカードのような1ヶ月分の出退データを出力する場合、出勤時刻や退勤時刻は主に平日だけしかデータがないので、ベースとなる1ヶ月分の日付データを作成する必要があります。
そういった場合に ...
SQL Serverで日付型を文字列に変換する
日付型を文字列に変換する場合、VBではFORMAT関数、JAVAではToStringメソッドでyyyyMMddのような日付書式を指定して変換しますが、SQL Serverでは日付書式を指定した文字列への変換ができません。
そこ ...
SQLServerの一時テーブル(テンポラリーテーブル)の作り方
SQLServerにはセッションが有効な間だけ利用できる一時テーブル(テンポラリーテーブル)を作成することができます。この一時テーブル(テンポラリーテーブル)を利用すると一時的にデータを保管できたりSQLが簡潔に書けるようになるなどと ...
SQLServerで文字列をカンマ区切りにする方法
SQLServerで指定された文字列をカンマ区切りにする方法です。
※SQL Server 2016以降では「STRING_SPLIT」という関数が実装されています
連番の中で 「抜け番」見つけるSQL
連番で作成した情報で抜け番を探すというのは割とよくある処理です。今回はそれをSQLで簡単に取得する方法を解説します。
T-SQLで指定した月の月末日付を簡単に求める方法
SQLServerのT-SQLで指定した月の月末日付を求めるには「EOMONTH」関数を使うと簡単に取得できます。今回はEOMONTHの使い方を解説します。
SQL Sever 2017を無料で使う方法
SQLServerは無料でデータベース容量が10GBまでの小規模のデータベースシステムを使ったアプリケーションやシステムであれば「SQL Server 2017 Express」が利用でき、本番運用はできませんが、開発環境や技術検証用 ...
SQLServerでSQLだけでデータの小計や総合計を出力する方法
SQLServerでは「WITH ROLLUP」と「GROUPING()」を組み合わせて利用することで、データの小計や総合計を出力することができます。
SQLServerでシステム内でユニークな値を生成するNEWID()の利用方法
SQLServerでシステム内でユニークな値を利用したい時があります。そのような時に便利に使えるのがNEWID()です。
SQLServerのPIVOTを使って縦横(行列)変換を行う方法
SQL ServerではPIVOT句を利用することで、簡単に縦横(行列)変換することができます。